Heat the olive oil in a large skillet over medium heat.
Add the diced onion and cook for 3 to 4 minutes until softened.
Stir in the garlic and cook for 30 seconds.
Add the ground beef and cook until browned, breaking it apart as it cooks.
Drain any excess grease if necessary.
Add the chili powder, cumin, paprika, oregano, salt, and black pepper.
Stir well to coat the beef evenly with the seasonings.
Pour in the tomato sauce and water.
Reduce the heat and simmer for 5 minutes until slightly thickened.
Meanwhile, warm the taco shells or tortillas according to package directions.
Fill each taco shell with the seasoned beef.
Top with diced tomatoes, onion, cilantro, lettuce, cheese, and sour cream as desired.
Serve immediately with lime wedges.