Heat the olive oil in a large skillet over medium-high heat. When the oil is hot, add the ground beef, garlic, and onion. Season with the chili powder, cumin, and a good pinch of salt and pepper. Cook, breaking up the meat with a wooden spoon, until the beef is cooked through and browned, 6 to 8 minutes. Stir in the beef broth, tomato sauce, macaroni, and beans. Bring to a simmer, cover, and cook, stirring occasionally, until the sauce is thick and the macaroni is al dente, 12 to 14 minutes.
Remove the pan from the heat. Add the cheddar and pepper jack, and fold until the cheese is completely melted. Serve in bowls with cilantro, more cheddar, some hot sauce, and sour cream.
