Heat olive oil in a large pot over medium heat.
Add diced onion and sauté until softened and translucent.
Add ground beef and season generously with taco seasoning. Cook until browned, breaking into crumbles.
Remove cooked beef and onions from pot, leaving a small amount of drippings.
Melt butter in the same pot over medium heat.
Whisk in flour and cook for 1–2 minutes to form a light roux.
Gradually pour in milk, whisking continuously until smooth and slightly thickened.
Stir in both cans of Rotel, including liquid.
Add shredded cheddar cheese gradually, stirring until melted and sauce is creamy.
Mix in sour cream, hot sauce, and additional taco seasoning to taste.
Return cooked beef and onions to the pot, stirring well to combine.
Simmer mixture over low heat for about 10 minutes until thick and creamy.
Preheat oven to 350°F (175°C).
Arrange taco shells on a baking sheet and warm for 5 minutes until crispy.
Fill each taco shell generously with cheesy beef mixture, allowing slight overflow.
Serve hot with optional Spanish rice on the side.