Well, on a positive note, Vikings right guard Ed Ingram did not step on either one of Kirk Cousins' feet during Sunday's 20-17 season-opening loss to Tampa Bay at U.S. Bank Stadium.

However …

The embattled second-year pro, who tripped Cousins inadvertently multiple times last season, had the misfortune on Sunday of tying Bucs safety Antoine Winfield Jr. when it came to the number of times each caused a turnover while swatting the football from Cousins' hands.

"I have no idea what happened," Ingram said of his first-quarter mishap. "That was some freak stuff right there, man. It was just me trying to cut off the nose tackle, and I guess my arm accidentally hit the ball."

Yes, Ed, it most certainly did.

The Vikings were nine plays and 61 yards into their second drive of a scoreless game. It was third-and-2 from the Bucs 26 when Ingram swung his left arm back at the snap of the ball and accidentally punched the ball from Cousins' grasp as he was pulling away from center. Tampa Bay's Joe Tryon-Shoyinka fell on it.

Tampa Bay didn't score on the ensuing drive, but it was their first of three first-half takeaways, two of which ended drives in Bucs territory. The Vikings, meanwhile, fell to 1-5 over the past two seasons, including playoffs, when not posting a takeaway.

A year ago, Ingram played every snap of the Vikings' 18 games. He also led every NFL offensive lineman in pressures allowed (63) by four and every guard in sacks allowed (11) by four, according to Pro Football Focus.

He gave up his 12th career sack on Sunday while being overpowered by linebacker Anthony Nelson on first-and-10 at the Bucs' 30 late in the third quarter.

The other sack, a strip by Winfield, came when Tampa Bay overloaded the front side with an unscouted look late in the first quarter. Ingram was blocking the man across from him. Fullback C.J. Ham took blitzing linebacker Devin White while Winfield raced untouched between Ingram and right tackle Brian O'Neill.

"There are things to work on," Ingram said. "But I think we also did some good things."

He's right. The front of the pocket was clean for Cousins on completions of 42, 30 and 25 yards to Justin Jefferson, and on the 39-yard touchdown to Jordan Addison. It also was clean when Cousins threw an interception in the red zone.

The Vikings also weathered potential communication issues when center Garrett Bradbury went down with a lower back injury five minutes into the game. Austin Schlottmann, who started four games a year ago as Bradbury battled back issues, stepped in and played the rest of the game.

"I got a lot of reps with these guys last year, and I also talk a lot with Garrett during the week to see how he's going to make his blocking calls," Schlottmann said. "I've been doing this for six years. It's my job to be ready."

The Vikings' biggest problems Sunday weren't mental. They were physical. The Bucs were tougher and stronger up front defensively than what the Vikings offensive line could muster.

"We have to run the ball better," Schlottmann said in the understatement of the day.

The Vikings opened the first game of the post-Dalvin Cook era with Alexander Mattison blasting between Bradbury and Ingram for 8 yards. Mattison would run the ball 10 more times and gain just 26 yards. Backup Ty Chandler had three carries for no yards.

The Bucs had six tackles for loss. One of them came on first-and-goal from the 1 when nose tackle Vita Vea shot past and through Ingram for a 3-yard loss.

Overall, the Vikings ran the ball 17 times for 41 yards (2.4), the second-lowest in Kevin O'Connell's 19 games as head coach and hardly a fitting statistic on a day when the team honored its legendary late coach Bud Grant.

"It was just a lack of run game efficiency," O'Connell said. "We hoped we would be better."