The bus ran off the A93 motorway near Schwarzenfeld in Bavaria, north of Regensburg, about 1:40 am. It ran into a five metre deep ditch, flipped over and came to rest on its roof, a police spokesman said.
Fifty-five passengers and two drivers were aboard the coach, which was travelling from an Audi Cup football match in Munich to the Czech city of Prague.
Most of the passengers were able to get out, but three men were trapped in the wreckage. One of these men died while still pinned down. The other two were freed alive by emergency workers but were suffering serious injuries.
Fire brigade officers were forced to use a crane to elevate the bus in order to free the trapped men. Several people were taken to hospital.
Police were continuing to investigate what caused the bus to run off the road.