Emergency services in Buetzow received hundreds of calls
A tornado triggered by the storms caused severe damage in the town of Buetzow, near Rostock, hurling cars 70m (230ft) and damaging buildings.
In the city of Hamburg, a 26-year-old man was killed and his pregnant girlfriend injured when debris was blown on to their car.
High winds and lightning halted bus and train services, causing travel chaos.
The railway line between Hamburg and Luebeck was blocked in both directions by a fallen tree.
German media reported wind speeds of up to 119km/h (74mph) in Geilenkirchen north of Aachen.
The fire service in Hamburg said trees and branches were blown across roads and three people, as well as the man killed, were trapped in their cars.
Five container ships broke loose from their moorings and some of them collided, German media reported. Tugs were used to bring them back to the quays.
Police in Buetzow reported ?severe damage? as a tornado ripped the roofs from buildings, including a hospital which had to be partially evacuated.
The town hall, a nursing home and a church in the town were also said to have been badly damaged.
Local officials said at least 30 people had been hurt by flying debris.
The storm followed a period of unusually warm weather across northern Germany and forecasters say more rain, thunder and lightning are expected on Thursday.