Heat olive oil in a large pot over medium heat. Add onion and garlic; cook and stir until softened, about 5 minutes. Stir in broth, diced tomatoes, red lentils, brown rice, Italian seasoning, celery flakes, white pepper, and marjoram. Bring soup to a boil; reduce heat, cover, and simmer until lentils break down and rice is tender, about 55 minutes.
Stir balsamic vinegar into the soup just before serving.