Cook the pasta in salted water according to the package instructions. For 12 ounces of pasta, use 4 quarts water and 2 tablespoons salt. Reserve ½ cup of your pasta water. Drain and set aside.
If using lentils, in a medium pot, add 1 cup lentils and enough water to cover by at least 2-inches. Bring the water to a boil, then reduce the heat to low and simmer gently for 10-15 minutes, or until the lentils are tender, but not mushy. Drain and set aside.
In a medium pot over medium-high heat, stir together the tomatoes, cashews, and salt. Use your spoon/spatula to break open the whole tomatoes to release their juices (careful of the splatter!). Once the tomato sauce starts to bubble aggressively, reduce the heat to low and simmer gently, uncovered, for 10 minutes, stirring occasionally.
In a large skillet over medium heat, add the olive oil, carrots, bell pepper, mushrooms, ½ teaspoon salt, and red pepper flakes (if using). Cook until vegetables have softened and water has evaporated, about 5-7 minutes.
Add the beef and remaining salt and cook, breaking the beef up into little chunks, for about 5 minutes, or until cooked through. If using lentils, stir in 2 cups cooked lentils with the remaining ½ teaspoon salt and cook for 1 minute. If there is a lot of fat in your pan when you tilt it, skim it off with a spoon. We love fat but don’t love greasy pasta.
Add the tomato cashew mixture and ½ cup reserved pasta water to a high-speed blender and blend until smooth and creamy (make sure you allow steam to escape when blending hot liquid!). Pour the sauce into the pan and cook for 1 minute to warm everything up, stirring to combine. Taste and add salt, if needed.
Add pasta to your bowl, top with plenty of bolognese, and mix it all together. Top with basil (if using) and Parmesan (if using).