Shields' deal includes a club option for a fifth year, the source told ESPN.com.
The deal would set the record for largest contract issued -- free agent or otherwise -- in Padres history, surpassing the three-year, $52 million contract given to Jake Peavy during the 2007-08 offseason, according to ESPN Stats & Information.
Although the Padres and Shields have nothing official in writing, the pitcher and his representative, Page Odle, verbally agreed to the team's offer late Sunday night.
SB Nation earlier reported that the two sides had reached a deal.
The veteran right-hander, who grew up near San Diego, provides the Padres with a workhorse in pitching-friendly Petco Park. Shields ranks first among MLB pitchers with 1,785 2/3 innings pitched since 2007, according to baseball-reference.com. Seattle's Felix Hernandez is second in that span with 1,785 1/3 innings, while Detroit's Justin Verlander is third at 1,780 2/3.
Shields had a 14-8 record with a 3.21 ERA, 180 strikeouts and just 44 walks in 227 innings for the Kansas City Royals last season. Shields made $13.5 million in 2014 after the Royals exercised the option on his contract before the season.
The move adds to the impressive makeover for the Padres, who have landed Justin Upton, Matt Kemp, Will Middlebrooks, Wil Myers and Derek Norris this offseason after finishing last in the majors in runs scored in 2014.
The odds of the Padres winning the 2015 World Series improved from 25-1 to 18-1 at the Westgate Las Vegas SuperBook on Monday.
The 33-year-old Shields, who has pitched more than 200 innings in every season since 2007, will join a rotation that includes Andrew Cashner, Tyson Ross and Ian Kennedy.
He has a career 114-90 record and 3.72 ERA over nine seasons with the Tampa Bay Rays and the Royals.
Shields joined the Royals in December 2012 as part of a seven-player trade with the Rays that sent Myers, the eventual 2013 American League Rookie of the Year, and right-hander Jake Odorizzi to Tampa Bay.
Despite his "Big Game James" nickname, Shields has a 3-6 record and 5.46 ERA in the postseason. He lost both of his starts in the 2014 World Series against the San Francisco Giants, coming up short against Madison Bumgarner, who allowed just one run in 16 innings over two starts against Kansas City.
Padres Land James Shields
Buster Olney discusses the report that the Padres and pitcher James Shields have agreed to a four-year deal and also talks about San Diego's busy offseason.