Dalam termodinamik dan kejuruteraan, enjin haba ialah sistem yang menukar haba kepada tenaga mekanikal, yang kemudiannya boleh digunakan untuk melakukan kerja mekanikal.[1][2] Ia melakukan ini dengan membawa bahan kerja dari suhu keadaan yang lebih tinggi kepada suhu keadaan yang lebih rendah. Sumber haba menjana tenaga haba yang membawa bahan kerja ke keadaan suhu tinggi. Bahan kerja menjana kerja dalam badan kerja enjin sambil memindahkan haba ke sinki yang lebih sejuk sehingga ia mencapai keadaan suhu rendah. Semasa proses ini beberapa tenaga haba ditukar kepada kerja dengan mengeksploitasi sifat bahan kerja. Bahan kerja boleh menjadi mana-mana sistem dengan kapasiti haba bukan sifar, tetapi ia biasanya gas atau cecair. Semasa proses ini, sebahagian haba biasanya hilang ke persekitaran dan tidak ditukar kepada berfungsi. Juga, sesetengah tenaga tidak boleh digunakan kerana geseran dan seretan.