Brown beef and onion in a 6-quart pot over medium-high heat for 8 minutes, breaking beef into fine crumbles and cooking it to 160°F. Drain excess fat.
Stir in garlic for 30 seconds, then add broth, ketchup, mustard, salt and pepper. Bring to a boil.
Stir in macaroni and simmer uncovered for 8 to 10 minutes, stirring often, until the pasta is just tender.
Add milk and heat gently for 2 to 3 minutes until steaming, without a hard boil.
Switch off the heat and stir in American cheese, then cheddar in 3 additions, until smooth. Divide among 6 bowls while the broth still flows around the macaroni.