ST. PAUL — Vikings coach Mike Zimmer wanted balance this season from his offense, and he certainly got it.

During the regular season, the Vikings were the most balanced team in the NFL. They ran the ball 49.43% of plays and called for passes 50.57%.

They can thank Mike Shanahan in part for that. The coach who led the Denver Broncos to Super Bowl wins after the 1997 and 1998 seasons was a big proponent of a balanced attack. Both of those championship teams had close to a 50-50 split between run and pass.

Among those who learned under Shanahan were Vikings assistant head coach/offensive adviser Gary Kubiak and offensive line coach/run game coordinator Rick Dennison. This season, the Vikings adopted his scheme, which includes zone blocking.

Of course, Shanahan is the father of San Francisco coach Kyle Shanahan, whose 49ers play host to the Vikings on Saturday, Jan. 11, in a divisional playoff game. And you better believe that the 49ers have a balanced attack, too.

The 49ers were the NFL’s second-closest team, after the Vikings, to having a 50-50 split offensively. They ran 49.21% and passed 50.79%.

With that in mind, both teams figure to keep the other guessing.

“It’s going to be fun,” Vikings defensive lineman Ifeadi Odenigbo said. “I’m excited to see the plays Zim has lined up and that Shanahan has lined up, too.’’

The Vikings and 49ers didn’t have the balance they wanted last year. Minnesota called the fourth-most pass plays in the NFL, 64.41%, during an 8-7-1 season; the 49ers called 57.83% passes en route to a 4-12 record.

In 2018, the Vikings had a more pass-oriented offensive coordinator in John DeFilippo, a less-than-stellar offensive line and a running game that struggled. The 49ers were crippled when they lost quarterback Jimmy Garoppolo for the season with a torn ACL in Week 3.

This year, both teams’ offenses are playing just right.

“It’s great that we ended up at that point because that’s what we wanted,” Vikings wide receiver Adam Thielen said of a nearly 50-50 split.

To have the balance the Vikings and 49ers do obviously requires an equally efficient passing and running game. The Vikings have Kirk Cousins, who finished fourth in the NFL in passer rating, throwing to top receivers Thielen and Stefon Diggs, and running back Dalvin Cook, who rushed for 1,130 yards.

“We’ve talked about it since way back when, trying to marry that run game and pass game,” said offensive coordinator Kevin Stefanski, who replaced DeFillippo as offensive coordinator with three games left last season. “That is what’s worked for us, and I know they do a great job out there as well.”

The Vikings and 49ers run similar offenses. Both teams like to utilize bootlegs and play action.

Both teams often use a fullback, a position that is becoming a rarity in today’s pass-happy NFL. The 49ers have Pro Bowler Kyle Juszczyk, and the Vikings go with Pro Bowl alternate C.J. Ham.

San Francisco piles up yards a bit differently. Garappolo’s favorite target is tight end George Kittle, who caught 85 passes for 1,053 yards. And the 49ers do their running more by committee. Rasheem Moster, Matt Breida and Tevin Coleman all rushed for between 544 and 772 yards.

“I know that’s my goal, and I’m sure it’s Kubiak’s and Kevin’s and Zimmer’s goal, also,” Kyle Shanahan said of having a balanced attack. “I mean, you always can find the outliers, but I think it’s very hard to win in this league if you’re only good at passing, and I think it’s very hard to win in this league if you’re only good at running. So, you’ve got to be able to do both. I think that’s something we’ve both done pretty good this year, and that combined with good defense is, I think, why we’re both where we’re at.”

The goal on Sunday for both defenses will be to stop the run first in order to get a fierce pass rush going. The Vikings have top-notch defensive ends in Danielle Hunter and Everson Griffen, and the 49ers have a trio of defensive linemen — Arik Armstead, Nick Bosa and DeForest Buckner — who combined for 26 1/2 sacks.

“Zim’s defense is all about stopping the run first,” Odenigbo said. “That’s what we pride ourselves on.”

The 49ers’ balance will make that challenging for Minnesota’s rugged defense.

“They do so many good things offensively, the formations and the rockets and the motions and the shifts and then the execution, and they have good players,” Zimmer said. “All that enters into a factor. They come up with a different scheme for each team. I’m sure there will be a lot of adjustments being made during the course of the ballgame.”

The Vikings also should be able to keep the 49ers guessing with their balance on offense. They weren’t always able to do that when Cook missed so much playing time in December with chest and shoulder injuries.

With Cook watching from the sideline in the Vikings’ 23-10 loss to Green Bay at U.S. Bank Stadium on Dec. 23, the Packers didn’t respect the run. The Vikings managed just 139 yards of total offense that game, the second-lowest in Zimmer’s six seasons as coach.

Cook was at full strength for last Sunday’s 26-20 overtime wild-card playoff win at New Orleans. He carried 28 times for 94 yards in a game in which the Vikings called 40 rushing and 34 pass plays.

There has been concern about the health of Thielen and Diggs. Thielen was listed as questionable after suffering a cut on his ankle in practice Wednesday that required stitches, but he is expected to play. Diggs missed two days of practice early in the week with the flu, and it remains to be seen if that might slow him.

Come Saturday, the Vikings hope it will be business as usual with the offense Zimmer envisioned having this season.

“I think it’s just individual wrinkles to plays,” Cousins said of attacking San Francisco’s defense. “Make something look like it did the week before or the year before and then do something different. That cat-and-mouse game with the defense will be going on as long as there’s football.”