Preheat the oven to 180°C (350°F). Toss the cauliflower florets in 3 Tbsp olive oil, spread on a roasting tray, and season well with salt and pepper. Place in the oven — the cauliflower needs about 30 minutes total, so get it in 10 minutes before the risotto if your oven is large enough to fit both.
In a lidded, oven-proof pot (a cast iron casserole works best), heat the remaining 3 Tbsp olive oil over medium heat on the stovetop. Fry the onion until softened, about 5 minutes. Add the rice and garlic and fry for a further 4 minutes, stirring, until the rice is lightly toasted.
Pour in the boiling hot vegetable stock, stir once, and put the lid on firmly. Transfer to the oven and cook for 15 to 20 minutes. Check at 15 minutes — the rice will be al dente. At 20 minutes it will be softer. There will be some liquid remaining; this is correct.
While the risotto cooks, melt the butter in a small frying pan over medium-high heat until bubbling. Fry the sage leaves in two batches until crispy, about 1 minute per batch. Drain on paper towel. Reserve the browned butter.
Remove the risotto from the oven. Stir in the baby spinach until wilted. Add the crème fraîche and grated cheese and stir to combine. Taste and season with salt and pepper.
Top with the roasted cauliflower and crispy sage leaves. Drizzle over any remaining browned butter and serve immediately with extra grated cheese.