Top-flight German clubs will divvy up €628 million in TV money per season, a significant increase over the current €412 million. Bayern Munich chairman Karl-Heinz Rummenigge hailed the deal as a "milestone" in German football history.
Announcing the deal in Frankfurt, Bundesliga president Reinhard Rauball said: "Today's decision is a quantum leap for the Bundesliga. It is a good day for German football."
However, the German league is still behind the English Premier League when it comes to TV rights as broadcasters pay 770 million euros per season to carry English matches.
Meanwhile, the French league receives €570 million annually, but this figure has declined from €668 million between 2008 and 2012.
"We are convinced of the attractiveness of our product. The results show that we are not wrong in our assessment," said the head of the league, Christian Seifert. But he admitted that the size of Sky's investment was "beyond our expectations."
Public broadcasters ARD and ZDF retained rights for an early evening highlights show, which has been a thorn in Sky's side. The channel's three million subscriptions in Germany are highly dependent on the Bundesliga.
And publishing giant Axel Springer won the rights to broadcast games over the Internet and on smartphones one hour after the final whistle.
Shares in Sky rocketed. They were up 22 percent at one point as rumours circulated in the markets that they had won the deal.
The share price dropped slightly when the rumours were confirmed but were still showing double-digit percentage gains on the MDAX mid-cap market.