Preheat the oven to 400°F.
Bring two cups of water salted to a boil. Place the bulgur in a heatproof boil. When the water boils, pour it over the bulgur and let sit until the grains are tender.
Bring a second saucepan of salted water to a boil with the bay leaf. When the water boils, add the lentils, bring to a simmer, reduce heat to low and simmer for 20 to 30 minutes or until tender. Drain.
In a large bowl, toss the bulgar with the lentils, garlic, parsley, lemon juice, olive oil, salt and pepper.
On a baking sheet, toss the onions and sweet potatoes with canola oil and season with a pinch of salt and pepper. Roast for 12-14 minutes, or until tender.
Make the mushrooms: In a blender, purée the balsamic, sugar, shallot, Dijon, salt and pepper until smooth. With the motor running, drizzle in the olive oil until emulsified. Adjust the seasoning.
Heat a skillet or grill to medium-high heat. Brush the mushrooms with the balsamic vinaigrette and grill for 10 minutes, flipping halfway though.
To make the pesto, combine all ingredients in a blender until smooth. Season to taste.
To serve, divide the lentil bulgur salad between bowls. Top with grilled mushrooms, onions, sweet potatoes, and arugula. Drizzle with pesto.