Pour oil into a skillet and place over medium-high heat.
Add beef and sauté, while breaking up into small pieces. Cook beef for 3 to 4 minutes.
Stir tomato paste, garlic powder, smoked paprika, salt, onion powder, chile powder, cumin, and black pepper into the ground beef and stir until fully incorporated and beef has cooked though. Low heat to medium-low and simmer for 4 to 5 minutes. Remove from heat and set aside.
Cheese sauce: Melt butter into a small saucepan over medium heat. Add flour and whisk together. Cook for about 2 to 3 minutes. Whisk milk into the mixture and continue to whisk until no lumps remain and mixture begins to thicken. Whisk cheeses into the mixture, one at a time, allowing cheese to melt completely before adding more. Stir in the remaining sauce ingredients and stir until smooth. Remove from heat.
Assemble: Fill taco shells with ground beef, followed by cheese sauce, lettuce and tomatoes. Serve immediately.