Prep the basics: Shred the cheese, chop the onion, and mince the garlic. Have chips and toppings ready so you can assemble while everything’s hot.
Cook the beef: Heat a skillet over medium-high. Add beef and onion, breaking up the meat.
Cook until browned and the onion is soft, 6–8 minutes. Drain excess fat if needed.
Season it right: Stir in garlic, tomato paste, 1–1½ teaspoons chili powder, 1 teaspoon cumin, ½ teaspoon smoked paprika, ½ teaspoon oregano, ½ teaspoon salt, and black pepper. Add ¼ cup water or broth and simmer 2–3 minutes until saucy, not soupy.
Adjust salt to taste.
Start the cheese sauce: In a small pot, melt 2 tablespoons butter over medium heat. Whisk in 2 tablespoons flour and cook 1 minute to make a smooth roux.
Whisk in milk: Slowly pour in 1½ cups warm milk, whisking until smooth. Simmer gently 2–3 minutes until slightly thickened.
Add the cheese: Lower the heat.
Sprinkle in 2 cups shredded cheddar a handful at a time, whisking until melted and silky. Season with a pinch of salt and a tiny pinch of baking soda if the sauce looks tight. Keep warm on low.
Assemble the nachos: Spread a layer of chips on a sheet pan or large platter.
Spoon over the hot beef, then drizzle generously with cheese sauce.
Finish with toppings: Add tomatoes, jalapeños, green onions, and cilantro. Dot with sour cream and serve with lime wedges.