Brown the lean ground beef in a dry pot over medium-high heat, breaking it small, until no pink remains. Lean beef gives little fat, so a nonstick or well-seasoned pot helps here.
Add the onion and garlic to the beef and cook 3 to 4 minutes until the onion softens and turns translucent.
Stir in the diced tomatoes with their juice and the beef broth, scraping the browned bits off the bottom, and bring to a gentle simmer.
Simmer uncovered 15 minutes so the flavours marry and the soup reduces slightly.
Drop the heat to low. Stir in the cream cheese in small pieces until it melts completely and the broth turns creamy with no white lumps.
Stir in the shredded cheddar off direct heat until just melted, then season with the salt and pepper. Keep it below a boil once the cheese is in, or the dairy can break and turn grainy.