Heat oil in a saucepan over medium heat. Once hot, sauté onions until starting to brown and caramelize, about 15-20 minutes. Add carrots, shallots, and garlic and continue to cook, about 5 minutes.
Add vegetable broth and lentils. Bring to a boil, lower heat to a simmer, and simmer uncovered, until lentils are tender, about 20 minutes.
Just before serving, add pepper, and taste for salt and pepper.