Heat the oil in a large pot or Dutch oven over medium heat.
Add the chopped onion and cook for 3 to 5 minutes, until it becomes soft and translucent.
Stir in the minced garlic and cook for another 2 minutes until fragrant, being careful not to let it burn.
Pour in the water, tomatoes, rinsed lentils, basil, oregano, and bay leaves.
Stir everything together and bring the soup to a boil.
Once boiling, reduce the heat to low, cover the pot, and let it simmer gently for 1 hour, or until the lentils are tender.
Remove and discard the bay leaves.
Stir in the molasses, balsamic vinegar, salt, and pepper.
Taste and adjust the seasoning as needed before serving hot.