Heat 2 tablespoons of olive oil in a medium pot. Add the onion and cook over medium heat until golden brown, about 10 minutes.
Add celery, carrots, and garlic with an additional 1 tablespoon of olive oil. Continue to cook until carrots and celery are softened, about 10 more minutes. Stir frequently.
Add balsamic vinegar to deglaze the pan, scraping the bits from the bottom of the pan. Add honey, diced tomatoes and their juices, chicken broth, and 1/2 teaspoon salt.
Simmer the soup for 40 minutes, stirring occasionally.
To blend the soup, you can use an immersion blender and blend in the pot.
Or, working in batches, add the soup to a blender and blend until completely smooth. Return to the pot and mix in whole milk, feta cheese, and basil.
Taste the soup for seasoning and adjust as needed. Garnish with additional feta cheese.