the cheapest way is by autoshare. they have this minibus thingy that cruises on the autobahn. still takes like 8 hours or something. but at 20 euro a head, it's a bargoooon. flights are probably around 100 euro.
they have cheap busses with frequent service (hourly?) that you can take.
you'll have to go to the main bus station (located right in the middle of both cities) and ask because i don't think you have to buy tickets in advance online.
i remember going from hamburg to berlin (4 hrs give/take) for about 20EUR.
also, there are the slow trains that are much longer but much cheaper. again, best way to find out is at the station.