Place ground beef and diced onion in a large pot over medium-high heat. Cook 7-9 minutes, breaking up beef with a spoon, until browned and onion is softened. Drain excess grease.
Add minced garlic and cook 1 minute until fragrant, stirring constantly.
Stir in beef broth, diced tomatoes with juice, water, uncooked macaroni, Worcestershire sauce, salt, and pepper.
Bring to a boil, then reduce heat to medium-low. Cover and simmer 10-15 minutes until macaroni is tender, stirring every 3-4 minutes to prevent sticking.
Remove from heat. Stir in shredded cheddar cheese and sour cream for 2 minutes until cheese is fully melted and soup is creamy.
Ladle into bowls and top with pickles, lettuce, tomato, and onions as desired.
Notes
Use 80/20 ground beef for best flavor. Ground turkey or chicken works too.
Shred cheese from a block for smoothest melting. Pre-shredded cheese contains anti-caking agents.
Pasta will absorb liquid as it sits. Add extra broth when reheating leftovers.
For freezing, freeze soup base without cheese and cream. Add fresh dairy when reheating.