Brown ground beef in a large Dutch oven over medium-high heat, breaking into small pieces, until fully cooked with no pink remaining and juices have evaporated, 6 to 8 minutes. Transfer beef to a plate, leaving drippings in the pot.
Add diced onion to the pot over medium heat and cook 3 to 4 minutes until softened. Add garlic and stir 60 seconds until fragrant.
Add potatoes, carrots, celery, smoked paprika, salt, and pepper. Pour in the beef broth and stir, scraping up any browned bits from the bottom. Bring to a simmer over medium-high heat, then reduce to medium and cook uncovered for 12 to 15 minutes until potatoes and carrots are fork-tender.
While vegetables simmer, melt butter in a small saucepan over medium heat. Add flour and whisk constantly for 60 to 90 seconds until pale golden and nutty-smelling.
Stir the roux into the simmering soup in small additions, whisking after each. Pour in the whole milk and heavy cream. Simmer 3 to 4 minutes, stirring frequently, until the broth thickens and coats a spoon.
Return browned beef to the pot. Remove from heat entirely. Add shredded cheddar in two additions, stirring gently after each until fully melted. Stir in Dijon mustard. Taste and adjust salt.
Ladle into bowls and garnish with fresh chives and extra cheddar. Serve immediately.