I have traveled from Crete to Thessaloniki a few times. I think the best way is to take a ticket to Peiraias and then take the bus to Thessaloniki.
You can have the tickets issued from the bus stand in Herakleion's port, place your things on the bus and it will wait for you in Peiraias port. You can have an 'aeroplane sheat' (I think that is how they call it) and sleep there. The cheapest is the deck although. I think the company is the 'Minoan lines' and the ships Phaistos kai Knossos are the best Greece has.
Still it is very tiring. I did this twice and the third time I took the plane.
If still can't afford it, try the ship and then the train from "sta8mos Larissis" (not intercity of course).