Slice the cauliflower in half, removing the thick center core. Cut into large chunks.
Using a food processor, break up the cauliflower into florets. Do this in batches to create uniform pieces. Pulse the cauliflower two times until it looks crumbly with a few small florets. Put cauliflower in a bowl and repeat. If you don't have a food processor, you can finely chop the cauliflower into pieces.
In a large heavy-bottomed pot, heat the butter or olive oil over low heat. Add the onions and cook until soft, about 3-5 minutes.
Add the cauliflower to the pot. Increase the heat to medium and continue to cook stirring occasionally until the cauliflower begins to lose its shape and takes on a light golden color, about 10-12 minutes. Add the garlic and cook until fragrant, about 30 seconds.
Pour in the tomatoes, red lentils, balsamic vinegar, sugar, thyme, basil, oregano, crushed red pepper, salt, and pepper. Mix until well combined.
Place the lid on top and bring the sauce to a gentle boil. Reduce the heat to low and simmer with the lid on for about 30 minutes. Remove the lid and cook for an additional 15 minutes or until the cauliflower is soft and lentils are broken down. The sauce should be thick. Season with salt and pepper, to taste.
Bring a large pot of salted water to a boil. Cook the pasta according to the package instructions. Serve pasta with cauliflower bolognese sauce. Garnish with fresh basil and Parmesan cheese, if desired. Serve warm.
Note-If you don't have whole plum tomatoes, you can use diced or crushed tomatoes. The cauliflower bolognese will keep in the refrigerator for up to one week. It will freeze in a freezer container for up to 2 months. Make sure the sauce is completely cooled before freezing. This sauce is also great with zucchini noodles, rice, or quinoa.