Place a large saucepan or Dutch oven over medium heat, add oil, and once it's hot add ground beef. Use a wooden spoon to crumble and cook the beef until no longer pink. Transfer beef to a plate and drain grease from the saucepan.
In the same saucepan, melt 2 tablespoons of butter over medium heat. Add diced onion, stir and cook for about 1 minute.
Add the rest of the veggies and seasoning: garlic, carrots, celery, basil, parsley, thyme, paprika, salt, and black pepper. Stir and sauté for about 8-10 minutes, until veggies are just tender.
Add cubed potatoes, cooked ground beef, and chicken broth. Add enough broth to cover the potatoes. Bring to a boil.
Reduce heat, cover and simmer, until potatoes are tender, 10-12 minutes.
Meanwhile, place a medium skillet over medium heat. Add butter and melt.
Add flour and cook stirring continuously until bubbly and fully combined, about 3 minutes.
Add the cream, little by little, and stir to combine.
Reduce heat to low, add the cubed Velveeta cheese, and stir to melt. Once melted, add the shredded cheddar cheese and stir until fully melted.
Add the mixture to the soup, stir and bring to a boil. Cook and stir for 2 minutes. Taste and adjust for salt and pepper.
Remove from heat and blend in sour cream.
If the soup is too thick, add more cream/milk or broth, little by little.
Serve topped with extra cheddar cheese and preferred toppings.