Preheat oven to 375°. In a large saucepan over medium heat, heat oil. Add onion and cook, stirring often, until onion is soft, about 5 minutes. Stir in garlic and red pepper flakes and cook for one minute. Add meat and season with salt and pepper. Cook until no longer pink, 6 minutes. Drain fat.
Return saucepan over medium heat and add tomato paste and oregano. Cook for 2 minutes more, until slightly darkened. Add crushed tomatoes and bring sauce to a simmer, reduce heat and cook, stirring occasionally, until slightly reduced and flavors have melded, 10 to 15 minutes. Remove from heat and stir in basil.
In a large bowl, pour sauce over cauliflower and stir to combine. In a large baking dish, place half the cauliflower in an even layer. Dollop all over with half the ricotta, and sprinkle with half the mozzarella and Parmesan. Add remaining cauliflower in an even layer on top, and top with remaining cheeses.
Bake until cheese is melty and golden, 28 minutes.
Garnish with basil before serving.