A method of cooking a food item in a fluid contained in a container, the method including the steps of: receiving food item information indicative of one or more characteristics of a food item to be cooked in the fluid; receiving a desired food temperature; receiving information related to a predetermined acceptable temperature gradient across the food item; controlling a heater for heating the fluid according to heater control information related to a set point temperature and a heater operation period; obtaining a temperature measurement; determining a measurement of power delivered to the heater; determining one or more process parameters related to one or more corresponding physical characteristics of at least one of the fluid and the container by solving a physical model based on changes in the temperature measurement and the measurement of power; determining a food temperature profile of the food item for multiple temperature set points using the one or more physical characteristics values and by projecting each temperature set point of the multiple temperature set points forward in time by solving the physical model; determining updated heater control information based on the food temperature, the one or more process parameters, the temperature measurement, and/or the measurement of power such that: the food item substantially reaches the desired food temperature while maintaining or subceeding the predetermined acceptable temperature gradient across the food item; and after the heater operation period, the fluid cools to substantially the desired food temperature within a predetermined time period, and the food item substantially reaches the desired food temperature within the predetermined time period; and controlling the heater according to the updated heater control information until the food temperature substantially reaches the desired food temperature. receiving food item information indicative of one or more characteristics of a food item to be cooked in the fluid; receiving a desired food temperature; receiving information related to a predetermined acceptable temperature gradient across the food item; controlling a heater for heating the fluid according to heater control information related to a set point temperature and a heater operation period; obtaining a temperature measurement; determining a measurement of power delivered to the heater; determining one or more process parameters related to one or more corresponding physical characteristics of at least one of the fluid and the container by solving a physical model based on changes in the temperature measurement and the measurement of power; determining a food temperature profile of the food item for multiple temperature set points using the one or more physical characteristics values and by projecting each temperature set point of the multiple temperature set points forward in time by solving the physical model; determining updated heater control information based on the food temperature, the one or more process parameters, the temperature measurement, and/or the measurement of power such that: the food item substantially reaches the desired food temperature while maintaining or subceeding the predetermined acceptable temperature gradient across the food item; and after the heater operation period, the fluid cools to substantially the desired food temperature within a predetermined time period, and the food item substantially reaches the desired food temperature within the predetermined time period; and the food item substantially reaches the desired food temperature while maintaining or subceeding the predetermined acceptable temperature gradient across the food item; and after the heater operation period, the fluid cools to substantially the desired food temperature within a predetermined time period, and the food item substantially reaches the desired food temperature within the predetermined time period; and controlling the heater according to the updated heater control information until the food temperature substantially reaches the desired food temperature.