Preheat the oven to 190 C / Gas 5. Cut the marrow into eight rings, each about 4cm thick. Peel the marrow, unless it is very young and tender, and scoop out the seeds. Place the rings in a large, lightly greased baking dish, in a single layer.
Melt the butter in a large pan over medium high heat. Add the onion, mushrooms and garlic, and cook for 5 minutes or until tender. Add the ham and cook for a further minute.
Stir in the tin of chopped tomatoes and season with a little salt and pepper. Bring to the boil, then simmer uncovered for about 10 minutes or until the mixture is thick and pulpy. Stir in the parsley.
Lightly season the marrow rings with salt and pepper before spooning the tomato mixture into the hollowed-out centres. Spread any leftover tomato mixture between the marrow rings. Tightly cover the dish with foil so that the marrow will cook in the steam, and bake for 30 minutes.
Meanwhile, mix the breadcrumbs and cheese together. Remove the foil and sprinkle the breadcrumb mixture over the tops of the marrow rings. Return to the oven and bake for a further 15 minutes or until the topping is golden and crisp and the marrow is tender and juicy. Serve hot with crusty bread.