Brown the beef: In a large pot or Dutch oven over medium heat, brown the ground beef until no pink remains, about 6-7 minutes. Drain the excess grease and set the beef aside.
Sauté the vegetables: In the same pot, melt 1 tablespoon butter and add the onion, carrot, and celery. Cook for 4-5 minutes, until softened.
Simmer the soup base: Add the potatoes, broth, basil, salt, pepper, and browned beef back to the pot. Bring to a boil, then reduce heat and simmer for 12-15 minutes, until the potatoes are fork-tender.
Make the roux: In a small saucepan, melt the remaining 3 tablespoons butter over medium heat. Whisk in the flour and cook for 1 minute, then slowly whisk in the milk until smooth.
Thicken and add cheese: Stir the roux into the soup pot and simmer for 2-3 minutes, until slightly thickened. Reduce heat to low, stir in the cheddar and mustard, and stir until melted. Don't let the soup boil once the cheese is in, or it can turn grainy.
Serve: Ladle into bowls and serve hot, with extra shredded cheddar on top if you like.
Notes
Keep the soup on low heat once the cheese and roux go in, a hard boil can make the dairy turn grainy or separate.