Cut onion in half. Finely chop half, and cut other half into rings.
In a large pot, heat 2 tbsp of the olive oil over medium heat. Add chopped onion and garam masala and cook, stirring for 2 minutes. Add carrot and onion slices, and cook for 3 to 4 minutes, adding some of the vegetable broth if browning too quickly.
Stir in the remaining broth, oregano, thyme, bay leaf, green lentils, salt and pepper. Cook covered for 30 minutes, adding red lentils after 15 minutes.
Meanwhile, heat the remaining 1 tbsp olive oil in a skillet over medium heat. Pat dry the tofu and add to the pan; cook flipping until browned. Stir into soup once lentils are tender.