Majkowski, who didn't practice all week because the rib injury, wasn't sure he'd even start.
But he not only started, he completed his first 14 passes and threw two touchdowns to Sharpe as the Packers gained a tie for first place in the NFC Central with their second upset in two weeks.
The Packers, who beat San Francisco, 21-17, last week, haven't been in first place this late in the season since 1972.
Green Bay made the Vikings settle for field goals four times after they had moved inside the 20, the final time with six minutes left.
Dave Brown, the NFL leader in interceptions among active players and sixth all-time, then came up with his 58th and 59th interceptions in the final four minutes to stop the Vikings.
"A good tape job secured my ribs," said Majkowski, who finished with 26 completions in 35 attempts for 276 yards.
"I couldn't practice because of a lot of pain. But I had the adrenalin going right before the game. I wasn't even sure I'd start until right before I started warming up."
He'd been bothered the week before by a sore knee and hasn't practiced in two weeks.
"Maybe I should take next week off, too," he added.
Majkowski's second touchdown pass of the game to Sharpe covered nine yards and capped a 65-yard drive. It also gave the Packers a 20-16 lead with 11 minutes left.
Sharpe had 10 catches for 157 yards, the first receiver this season to get more than 100 yards against the Vikings.
"We knew we had to win to have a chance to play in January," Sharpe said.
With the Packers leading 20-16, Minnesota moved to the Green Bay six as Wade Wilson hit Anthony Carter for two passes covering 30 yards and connected with Steve Jordan for 17 yards.
The Packers gave up five yards to Herschel Walker in three downs but on fourth-and-one, Viking Coach Jerry Burns decided to let Rich Karlis kick his fourth field goal of the game, a 19-yarder with 6:07 left. That made it 20-19.
"It was debateable," Burns said. "If we had gotten closer on the running plays--maybe a foot or two--we may have gone the other way.
"They jammed up Herschel and we didn't want to come out of there with nothing. We knew we had six minutes to go to get the points. In retrospect I'd do the same thing."
But Brown, a 15-year veteran, came up with his two interceptions--one with 3:57 to go and the other with 1:31 left--to preserve the Green Bay victory.
Walker's six-yard run, set up by Joey Browner's interception and 34-yard return to the Green Bay nine, gave the Vikings a 16-10 lead with 7:13 left in the third quarter.
Chris Jacke's 42-yard field goal with 2:45 to go in the quarter brought the Packers to within 16-13.
Green Bay led 10-6 at the half, but Karlis kicked a 27-yard field goal, to make it 10-9 with 10:52 left in the third quarter.
That scoring drive was kept alive when video replay reversed an interception by the Packers' Tim Harris on the third scrimmage play of the second half.
Harris grabbed a tipped Wilson pass at the 40-yard line, took two steps toward a wide open field and dropped the ball. But instead of an interception and fumble recovery by Green Bay's Brian Noble as called on the field, it was ruled incomplete.
Majkowski lifted a 34-yard touchdown pass to Sharpe with 13:01 in the first half, giving the Packers a 10-3 lead.
Wilson completed four straight passes, moving the Vikings to the Green Bay 22. But three running plays netted only six yards and Karlis hit his second field goal of the game, a 34-yarder to make it 10-6.
Karlis hit his first field goal from 19 yards to tie the game at 3-3 in the first quarter.