1. In a large soup pot or Dutch oven, cook the ground beef and onion over medium heat until browned. Drain any excess fat.
2. Add the beef broth, potatoes, carrots, dried basil, dried parsley, garlic powder, salt, and black pepper to the pot. Stir to combine.
3. Bring the soup to a boil, then reduce the heat to low and let it simmer for about 15-20 minutes or until the vegetables are tender.
4. In a separate saucepan, melt the butter over medium heat. Stir in the flour and cook for 1-2 minutes, stirring constantly, until the mixture is smooth and lightly golden.
5. Slowly whisk in the milk until the mixture is well combined and begins to thicken.
6. Add the milk mixture to the soup pot, stirring well to incorporate it into the soup. Add the cubed Velveeta cheese to the pot and stir until the cheese is melted and the soup is creamy and smooth.
8. Continue to simmer the soup for another 5 minutes to allow the flavors to blend together.
9. Serve the soup hot, garnished with shredded cheddar cheese, and cooked crumbled bacon, if desired.