Pre-heat the oven 350°F
Wash and trim the cauliflower. making sure the bottom is flat and the core is fully intact. Sice right through the center and cut 1 inch on each side. Giving you two large steaks or 4 when using 2 medium cauliflower. Save the extra florets for another use. gently rub the salt and pepper around the steaks.
Using a large frying pan, add olive oil plus 2 tablespoon butter and heat over medium heat until very hot and the butter starts to brown. Add the cauliflower and cook until nicely browned at the bottom about 2 to 3. add the remaining butter, garlic and rosemary on one side. Gently flip the cauliflower browned side up using a large spatula. When the butter melt and starts to smell nutty and fragrant from garlic and rosemary, give a little telt to the pan, spoon the liquid butter and keep basting the cauliflower for a minute. Add the chicken stock or vegetable stock and transfer the pan to the oven and bake for 10 minutes or until the cauliflower is soft all the way through but not mushy.
While the cauliflower is roasting in the oven, heat a large saute pan on medium heat and brown the butter. Add the shallots and cook for a minute, add the garlic and mushrooms. Stir to combine, continue cooking until all the mushrooms release their liquid and evaporate completely about 8 minutes. Add the thyme, salt and pepper to taste and continue cooking for a minute. Turn off the heat, add the chopped parsley.
Transfer one cauliflower steak into the plate, top with sauteed mushroom, zest lemon on top, cut the lemon in half and give a gentle squeeze of juice; top with grated parmesan(if using) and serve.