Preheat the oven to 180C/gas 4. Heat the oil in a large casserole dish and fry the onion and garlic until softened but not coloured. Add the beef and cook for about 10 minutes, until browned. Stir in the spices.
Pour in the beef stock, add the saffron threads and season with salt and freshly ground black pepper. Stir well. Transfer the dish to the oven and cook for about 1 hour and 30 minutes, until the beef is tender and the sauce has reduced and thickened.
Meanwhile, grate the zest of one of the grapefruits into a bowl. Add the breadcrumbs and parsley. Stir and set aside.
Peel the grapefruits and carefully remove the segments using a sharp knife.
Remove the tagine from the oven and stir in the grapefruit segments. Serve immediately, with the grapefruit gremolata scattered over.