Whisk vinegar, garlic, and paprika together in a large bowl. Add chicken and turn to coat. Let marinate in the refrigerate, at least 1 hour.
Heat oil in a large skillet over medium-high heat. Add onions; cook and stir until golden, about 5 minutes. Add chicken, discarding marinade; cook until browned, about 5 minutes per side.
Stir tomatoes, bay leaves, and salt into the skillet. Add a little water to prevent sticking. Reduce heat to medium and cook, adding water to thin sauce as needed, until chicken is tender, about 40 minutes.