
Heat a large nonstick skillet over medium heat. Add the oil. Once the oil is hot and shimmering, add the onion. Cook for 6-8 minutes, until the onion is translucent and softened.
Add the garlic and cook just until fragrant, about 1 minute, stirring frequently to avoid burning. Add the chili powder, cumin, paprika, oregano, cayenne (if using), salt, and pepper. Stir well to coat the onions with the spices.
Add the tomato paste and stir until super fragrant, about 30 seconds.
Increase the heat to medium high. Add the beef, breaking it into small pieces with a sturdy spoon or spatula. Cook, stirring frequently, until the beef is browned and cooked through, about 6-8 minutes. Stir in the tomato and let cook 1 minute.
Stir in the water. Reduce the heat to low. Let simmer for 10 minutes, stirring occasionally. This allows the flavors to deepen.
To serve, pile the ground beef into taco shells or tortillas and add your favorite toppings.