Public bus from Accra or Kumasi is cheap and safer than the maniac private bus drivers. It takes 11 hours from Accra, leaving around 8am so make sure you make a bathroom stop on the lunch stop as you might not be able to otherwise.
You can also take a direct flight to Tamale from Accra using Fly540Africa.
Private car from any medium sized town with driver is only about GH?30 a day