A cooking apparatus (1) comprises a base (7) comprising a lower heater (2) defining a bottom cooking surface (4) where a foodstuff (F) to be cooked can be positioned a cover (8) closable onto the base (7) and comprising an upper heater (3) defining a top cooking surface (5) and a lifting system (16) for moving the upper heater to and from the lower heater when the cover is closed onto the base a database (103) storing a plurality of selectable cooking programs each including one or more cooking phases each associated with corresponding cooking parameters including a temperature of the upper heater and a distance (d) of the top cooking surface from the bottom cooking surface and a controller (18) configured to control the operations of the lifting system and the upper heater based on the cooking parameters of a selected program.