Rupert Murdoch’s Sky will pay £3.58 billion to show 128 Premier League matches for three seasons from 2019/20.
The deal brings to an end rampant inflation in the value of the domestic rights for English top-flight soccer.
Rival BT will show 32 games a season, after its £885 million ($1.23 billion) bid secured one package.
The total raised for five of seven packages points toward a fall in the value of the rights after jumps of about 70 percent in the previous two auctions.
In 2015, Sky and BT smashed forecasts by paying a record £5.14 billion to show matches featuring the likes of Manchester United, Chelsea and Liverpool, as they battled for pay-TV and broadband subscribers.
That enabled the league to go on a shopping spree, with players such as Paul Pogba (bought by Manchester United) and Virgil van Dijk (signed by Liverpool) joining clubs for more than 75 million pounds each.
But the two companies will pay a reduced £4.46 billion for 160 games a season in the latest three-year rights packages.
Sky, which saw its operating profit slide 14 percent in Britain in the year to end-June after it paid its Premier League bill, said its disciplined approach had paid off.
It is spending 16 percent less per game than in its current package to retain a firm grip on the league that underpins its sports offer, and allows it to spend more on other content.
“Not only do we remain the home of Premier League football but also the home of top quality drama, entertainment, comedy and other sports,” said its UK CEO Stephen van Rooyen.
BT, which will show Saturday lunchtime fixtures from August 2019, said the league remained a big part of its sports line-up.
The two agreed in December to carry each others sports channels from early 2019 in a deal that analysts said reduced the pressure to bid ever higher sums for rights.