Primeiro, corte as batatas em cubos e leve a cozer em água temperada de sal.
Leve um tacho ao lume com o azeite, a cebola picada, o louro, a cenoura ralada e os dentes de alhos picados. Deixe refogar até ficar macio. Adicione a carne e deixe alourar de forma uniforme, mexendo para separar a carne. Tempere de sal e pimenta a gosto. Adicione o vinho e deixe cozinhar até o álcool evaporar. De seguida, adicione os cogumelos bem escorridos e deixe cozinhar mais um pouco. Junte a polpa de tomate e o queijo creme. Mexa bem e deixe cozinhar 5 minutos em lume brando. Retire o louro e reserve.
Entretanto, escorra as batatas e com o auxilio de um passe-vite ou de uma varinha mágica reduza as batatas a puré. Leve o tacho, onde cozeu as batatas, ao lume com o puré e junte a margarina e o leite a gosto (de preferência quente) até chegar à consistência que pretende. É mais prático ir colocando aos poucos para conseguir a consistência a seu gosto. Tempere de pimenta preta moída na hora e noz moscada. Rectifique o sal se necessário.
Unte um tabuleiro de ir ao forno com um pouco de margarina e coloque uma camada de puré de batata e, de seguida, a carne. Polvilhe com metade do queijo ralado e coloque uma outra camada de puré de batata. Finalize com o restante queijo ralado.
Leva ao forno a 200ºC até o queijo gratinar. Sirva com uma salada de alface, pepino e tomate.