When the Vikings advanced to the NFC Championship Game following the 2017 season, they relied on more than one miracle.

Their quarterback, Case Keenum, was a backup starting only because of injuries to Sam Bradford. Their starting running back was a reserve, playing because of an injury to Dalvin Cook.

Adam Thielen, the former street free agent, staged his breakthrough season. They were remarkably healthy, with only one key defensive starter, Everson Griffen, missing a game — and he missed only one.

They were lucky to play a string of bad or backup quarterbacks; they knocked Aaron Rodgers out for the season on Oct. 15; and they were lucky to avoid an epic choke at home against the Saints in the second half of their first playoff game.

The current Vikings spent much of this week talking about the letdown that occurred after that Saints game, when they went to Philadelphia and lost 38-7. What is easily overlooked amid all the talk of “turning the page,” as Kyle Rudolph put it, is that the page has already been turned.

This year’s success is far more about methodology than miracles.

This is a completely different offense from the one that scored zero points after the opening drive vs. the Eagles. And this is a team that, for better or worse, was unable to cruise through the regular season, ending with an embarrassing loss at home to the Green Bay Packers on Monday night and a loss to the Bears in which the Vikings held out most of their starters.

That team had momentum, if such a thing exists. This team did not. That team was outscored 62-19 over the last six quarters of the postseason; this team won in overtime in the most intimidating stadium in the NFL.

And while the 2017 team won with a revised cast, the 2019 team is one step away from another NFC Championship Game because, despite injuries and difficulties, it stuck to the plan.

Which was: Build an offense that can beat opponents up with the run, or at least make defenses worry about the run; make life as easy as possible for Kirk Cousins; and hold on to the ball enough so the defense wouldn’t get worn down, which is what seemed to lead to the No. 1-ranked defense’s collapse in Philadelphia two years ago.

That the plan has worked could have major ramifications for the franchise. Had they suffered an embarrassing loss last week at New Orleans, ownership would have had to face difficult decisions on General Manager Rick Spielman, coach Mike Zimmer and Cousins.

If the Vikings are competitive Saturday, it’s now hard to imagine any of them going anywhere. Their plan, and their performance at New Orleans, likely means all three will be around awhile.

Last week’s victory also justified the overhaul of the offensive coaching staff. A year after Zimmer fired offensive coordinator John DeFilippo for his failure to emphasize the running game, replacement Kevin Stefanski, assistant head coach and offensive adviser Gary Kubiak and offensive line coach Rick Dennison have made for a cohesive and effective team.

This offense emphasizes zone blocking, getting Cook to the edge, better use of the fullback and controlling the ball. When Cook has been healthy and productive, the offense has been dynamic, allowing Cousins to use play action and bootlegs to make simple throws, allowing him to compile a career-best interception percentage of 1.4.

With 3,603 yards passing, Cousins also failed to reach 4,000 yards for the first time as a full-time NFL starter. That was part of the plan, too.

Other decisions by the Vikings that have gotten them this far:

• Installing Anthony Harris as a starting safety. Always an effective backup, he has become one of the league’s best starters.

• Refusing to make Stefon Diggs’ early-season truancy a public spectacle, fining him but not suspending or chastising him. While this has been a frustrating season for him statistically, the Vikings wouldn’t have made the playoffs without him.

• Bringing back Andrew Sendejo after Philadelphia cut him. He contributes on special teams and adds veteran depth, and he played slot corner surprisingly well against the Saints, bolstering an injury-depleted secondary.

• After much unnecessary drama and expenditure, keeping Dan Bailey as kicker and Britton Colquitt as punter. Bailey finished fourth in the league in field-goal percentage.

• Taking Brian O’Neill and Garrett Bradbury in the past two drafts. O’Neill is developing into an excellent player and powerhouse run blocker, and Bradbury’s quickness and intelligence has allowed him to adapt to this blocking scheme.

The 2019 team had a tougher climb to the playoffs, but it also might be a tougher team to oust.