Method
Bring a large pot of generously salted water to a boil. Cook spaghetti until just al dente according to package directions. Reserve 120ml of pasta cooking water before draining.
While pasta cooks, heat olive oil and butter in a large wide skillet over medium heat. Add thinly sliced shallots and a pinch of salt, cooking slowly for 8–10 minutes until soft and golden.
Add minced garlic, rosemary leaves stripped from the sprig, and chilli flakes to the shallots. Cook for 1–2 minutes until fragrant.
Add the drained chickpeas to the pan and cook for 3–4 minutes, allowing them to lightly crisp and absorb the aromatics. Lightly mash about one-third of the chickpeas with the back of a spoon to help thicken the sauce.
Pour in the heavy cream and a splash of reserved pasta water. Stir well and let the sauce simmer for 2–3 minutes until slightly thickened.
Add the baby spinach and stir until wilted, about 1 minute. Season generously with salt and black pepper.
Add the drained spaghetti directly to the skillet and toss well to coat, adding more pasta water as needed to achieve a silky, cohesive sauce that clings to the pasta.
Serve immediately in warmed bowls, topped with a generous amount of finely grated parmesan cheese.
Tip: Don't skip mashing some of the chickpeas — it acts as a natural thickener, giving the sauce body and helping it cling to the pasta without needing extra cream.