In a large pot, heat olive oil over medium heat. Add onion and garlic, and sauté until the onion becomes translucent, about 5 minutes.
Add mushrooms and cook for another 8 minutes until they release their moisture and begin to brown.
Stir in lentils, crushed tomatoes, basil, salt, and pepper. Bring to a simmer.
Reduce heat to low, cover, and cook for 25-30 minutes until the lentils are tender, stirring occasionally.
Adjust seasoning as needed. Serve over your choice of pasta and top with grated Parmesan cheese if desired.