Preheat the oven to 160°C/gas mark 3. In a large ovenproof casserole dish, heat the olive oil over a medium heat. Season the ribs and add half to the pot and cook, turning occasionally, for 2-3 minutes per side until nicely browned all over. Transfer the ribs to a platter and repeat with the remaining ribs. Pour off most of the fat, leaving a thin layer.
Add the shallots, carrots and celery. Season and cook, stirring and scraping up any browned bits on the bottom of the pan, for 6-8 minutes until the vegetables are soft and lightly browned.
Add the fennel seeds, rosemary, bay leaves and garlic and cook for a further minute. Add the tomato paste and cook for an additional minute. Add 150ml cider and cook, stirring to scrape up any browned bits on the bottom of the pot, until the liquid is mostly reduced with just a few tablespoons left.
Add the ribs back to the pot along with the beef stock, remaining cider and 250ml water. Tuck as much of the ribs as you can into the liquid and bring to a steady simmer. Cover and transfer to the oven. Cook, turning the ribs every 45 minutes to an hour until they are tender – this should take anywhere between 3 hours 15 minutes and 3 hours 45 minutes.
Towards the end of the ribs' cooking time, start on your cauliflower cheese. Put the milk in a medium pan and add the onion, peppercorns and bay leaf. Bring to a simmer and then take off the heat, cover and leave to infuse for 30 minutes. Strain to remove the onion, bay and pepper and then set aside.
Heat the butter in a large pan over a medium-low heat until melted, then stir in the flour. Cook for a couple of minutes then add the infused milk, one ladle at a time, stirring it in until you have a smooth sauce. Turn the heat right down and leave to simmer for 15-20 minutes until thickened up, whisking occasionally.
Meanwhile, bring a large pan of water to the boil. Add the cauliflower and cook for 4 minutes, until just tender. Drain thoroughly and leave to dry out in the colander for 10 minutes. Heat 1 tbsp of oil in a large frying pan and add the cauliflower, frying for 5 minutes until slightly browned and caramelised. Season and add to a 20cm x 20cm baking dish in an even layer. Add the remaining oil into the pan followed by the breadcrumbs and fry until crunchy and golden. Season, then remove to a small bowl to cool. Add the parmesan, flaked almonds and thyme.
Once the sauce is done, add the cheddar, horseradish, a good grating of nutmeg and seasoning. Pour over the cauliflower. Once the ribs are done, remove the pot from the oven and turn the grill to medium high. Sprinkle the breadcrumb mixture over the cauliflower cheese and place under the grill until golden brown and bubbling.
While the cauliflower cheese cooks, transfer the ribs to a plate and place the pot with all the gravy/sauce over a high heat on the stove. Let it boil for 6-8 minutes so it reduces down by about a quarter, then turn off the heat and leave to sit for 5 minutes. Skim off any fat and stir the vinegar in, tasting to see if it needs any additional seasoning, then add the ribs back to the pot. Serve with the cauliflower cheese and spring greens.