Heat oil in a large pot over medium-high heat. Add onions, peppers and garlic and cook, stirring frequently, until tender, about 15 minutes. Add beef and cook, breaking it up with a spoon, until no longer pink, 7 to 8 minutes. Add water, tomatoes and their juice, tomato paste, bay leaves, chili powder, cumin, vinegar, salt, pepper and cayenne; stir well to combine. Cover and simmer over low heat for 1 hour.