Heat the olive oil in a large skillet over medium heat. Add the diced onion and cook for 3-4 minutes, until softened. Stir in the minced garlic and cook for an additional 30 seconds.
Add the ground beef to the skillet. Brown it for 5–6 minutes, breaking it apart with a spoon. Drain any excess grease.
Season the beef with salt, pepper, and taco seasoning, stirring to combine. Add the dry pasta, diced tomatoes (with juices), beef broth, and tomato sauce. Stir everything together.
Bring the mixture to a boil, then reduce heat and simmer for 12-15 minutes, until the pasta is tender and most of the liquid has been absorbed.
Once cooked, turn off the heat and stir in the shredded cheddar and mozzarella cheese until melted and creamy.
Serve hot with optional toppings like sour cream, chopped cilantro, or crushed tortilla chips.