Brian O'Neill chuckled when asked the main reason why the Vikings offense had minimized sacks on Kirk Cousins to one or none in five of the team's first eight games.

Another offseason of reinforcements led to two new starters, but O'Neill got to the root in a balanced playbook that moved Cousins out of the pocket — "I'm really appreciative of [coaches]. They're not just going to make us sit back there and catch somebody 75 times a game or let them tee off, you know? They're putting us in great spots."

While the talent gap remains large between the Vikings offensive line and the NFC's best defensive lines, evident in losses to the 49ers, Packers and Bears, the latest playbook shift proved a workable foundation. Now comes another offseason of mock drafts projecting Day 1 or Day 2 picks in the trenches.

Below, we'll assess next year's outlook and 2019 grades for the Vikings offensive line that cut sacks from 40 to 28 and opened lanes for a sixth-ranked run game.

Dalvin Cook's breakout sets up payday; will Vikings buy in?
Stefon Diggs, Kyle Rudolph adjusted to most change with Vikings

Pending free agents

OT Rashod Hill

G/T Dakota Dozier

C Brett Jones

Under contract through (+ 2020 cap hit)

2020: G Pat Elflein ($1.1M), G/T Aviante Collins ($660K)

2021: OT Riley Reiff ($13.2M), G Josh Kline ($6.1M), OT Brian O'Neill ($1.2M),

2022: C Garrett Bradbury ($2.9M), G Dru Samia ($770K), OT Oli Udoh ($627K)

Grades are based on a 1-to-5 scale, with '5' marking excellence, '4' for above-average, '3' for average, '2' for below-average and '1' for failure to perform. Players that did not accrue a season (weren't on the active roster for at least six weeks) or played in five games or fewer are not graded. Below are individual grades, based on game and practice observations, weekly film reviews and interviews with coaches for 11 offensive linemen who finished the season on the Vikings' active roster, injured reserve or practice squad. Unofficial NFL stats, such as QB pressures, missed tackles and targeted passes, are compiled by

OT Brian O'Neill (3.5) — Only four NFL tackles allowed fewer quarterback pressures this season than O'Neill (19), the Vikings' second-year bookend who continued a promising trajectory. Former Pitt tight end added a shade under 10 pounds during the offseason, and it was evident through improved run blocking. Impressive performances against the Eagles' Brandon Graham and the Broncos' Von Miller. Coaches praised growth in pass pro technique. Fires out of stance to gain depth in pass pro sets. Shifts weight to maintain balanced blocks. Short reaction time and agile feet to recover against speed rushers. Started anchoring better against power moves. Played 983 snaps [94.9%]. One of eight Vikings to eclipse 1,000 snaps, including 70 on special teams. Tied for team-worst nine penalties, including an ongoing problem for the eager O'Neill — a team-high four false starts.

More reading: Brian O'Neill finds All-Pro sharpening stone in Danielle Hunter

Team-low two sacks given up in regular season — a rip move by the Cowboys' Demarcus Lawrence and a bull rush by the Packers' Za'Darius Smith in Week 16. Struggled a bit with the Seahawks' Ezekiel Ansah the Week 13 loss in Seattle, giving up two hits. Surrendered a third sack via an inside move by Arik Armstead in the NFC Divisional playoff loss in San Francisco. Season ended with a concussion from an illegal blindside block from Nick Bosa that drew the ire of Vikings teammates and coaches. Showed significant progress in Year 2, dropping pressure totals from 31 to 19, solidifying himself as a budding cornerstone for the Vikings.

G Josh Kline (3.0) — Signed a three-year, $15.5 million contract in free agency to fill the right guard opening. Stabilized the spot unspectacularly after years of turnover. Below-average, try-hard run blocker. Solid in pass protection, shoring up the right side of a line that held up better than the left side. Fights to recover even if beaten with initial pass-rush move. Played 742 snaps [71.6%]. Penalized three times. Played well in both losses against the Packers, outside of losing his footing during Kenny Clark's strip-sack on Cousins in Week 2. Subtle veteran savvy, extending outside arm to sell Clark's defensive hold to officials in same game. Had his worst games against the Chiefs and Seahawks. Suffered two concussions against the Raiders and Cowboys. Missed three games. Some offensive lines might be positioned to upgrade from Kline, but the Vikings are not one of them with holes elsewhere.

OT Riley Reiff (2.5) — The 31-year-old Reiff leveled out a bit in Year 3 for the Vikings. Less became more for the offensive line and its team captain, who wasn't asked to drop into pass protection as much and improved when he did. Lacks spring in step to quickly drop into pass protection sets, making him vulnerable to speed rushers. But a play action-heavy offense kept Cousins on the move through bootlegs, easing the line's burden. Reiff, who played through a foot injury last season, looked healthier while allowing 25 pressures (five sacks) in the regular season.

Played 889 snaps [85.8%]. Team-worst nine penalties, including five holds. Injured and exited games against the Eagles (ankle) and Seahawks (concussion). Beat by Khalil Mack on strip-sack in Week 4 loss at Chicago. Surrendered three third-down sacks to the Cowboys' Robert Quinn, the Bears' Khalil Mack and the Lions' Trey Flowers. Struggles most to contain speed, so it makes sense for the team to again consider a move inside to guard this offseason. Next year's cap hit of $13.2 million makes Reiff a restructure-or-cut candidate.

C Garrett Bradbury (2.0) — Drafted in the first round (18th overall) out of N.C. State, Bradbury was given a steep learning curve with the Falcons' Grady Jarrett and Packers' Kenny Clark out of the gate. Played 1,005 snaps [97%] on offense. One of eight Vikings to eclipse 1,000 snaps. Penalized eight times. Tied for a team-high six holds. Botched snaps against the Falcons, Giants and Chargers (x2). Struggles lessened throughout his rookie season, including a seven-week stretch (games 8-14) in which he allowed a team-low eight pressures.

Issues resurfaced against the Packers in Week 16, when he gave up three sacks – two to Za'Darius Smith as the Packers created that mistmatch. Surrendered 11 of 29 pressures on the season in two games vs. Green Bay. Ranked sixth worst among all NFL centers in pressure allowed. Also fined $28,075 by the league for a blindside block in the Week 16 loss.

Flashed why the Vikings drafted him so highly with above-average athleticism for a center. Mirrored Saints linebacker A.J. Klein in the open field before a pancake block on a 19-yard Dalvin Cook screen in the NFC wild-card playoff win. Threw open-field lead blocks on big screens against the Giants and Chiefs. Quick feet allow Bradbury to reach block on outside runs – a major facet of this offense. Needs to add strength, but a better second half of his rookie year sets a decent foundation moving forward.

OT Rashod Hill (2.0) — Retained last spring on a one-year, $2 million restricted free agent deal. Fourth-year swing tackle improved as a pass protector in a limited sample (89 reps), surrendering three pressures (one sack). Credited improvement to weight loss and refocusing offseason training, including a three-day summit with fellow NFL offensive linemen in Dallas. Played 151 snaps [14.6%]. Not penalized. Season-high 52 snaps at left tackle against the Eagles after Riley Reiff's ankle injury. Aided by protection schemes providing easier assignments, but had some impressive one-on-one reps, including blocking Eagles end Derek Barnett on a 29-yard pass to Irv Smith Jr. Struggled with the 49ers' speed when replacing O'Neill (concussion) in the NFC Divisional playoff loss, giving up a sack to Nick Bosa. Primary weakness remains run blocking, where Hill struggles to move people. Should continue as an NFL backup, but might not be in Minnesota. Pending free agent.

G Dakota Dozier (1.5) — Signed a one-year deal last free agency with a $45,000 signing bonus to provide veteran depth. The journeyman was called upon often as he made four starts, including three in the opening six games. Put in tough spots against the Packers, Bears, Eagles and Broncos, against which Dozier allowed a team-worst 15 pressures with one sack. Played 367 snaps [35.4%]. Penalized twice for holding. Pending free agent.

G Pat Elflein (1.5) — One of the most disappointing developments for the Vikings offense is Elflein, who in his third NFL season moved from center to left guard after a surgery-free offseason supposedly setting up success. Again a liability in pass protection. Team-worst 32 pressures (six sacks) allowed, ranking ninth worst among NFL guards. Unable to consistently hold his own against bull rushes or mirror speed moves. Took down Cousins himself when Chiefs defensive tackle Chris Jones benched him into the quarterback during the Week 9 loss.

More reading: 'Up and down' Pat Elflein still a target for defenses?

Played 935 snaps [90.3%]. One of eight Vikings to eclipse 1,000 snaps, including 68 on special teams. Missed Week 2 loss in Green Bay due to knee injury. Penalized eight times. Tied for a team-high six holds. Surrendered inside move to Broncos NT Shelby Harris on strip-sack of Cousins in Week 11 win vs. Denver. Zone-heavy run scheme is a better fit, but after two poor years will the Vikings move forward? Releasing Elflein would free nearly $900,000 of a $1.1 million cap hit.

G/T Aviante Collins (N/A) — Versatile third-year player with upside cut down by injuries, including a torn MCL in an August camp practice that kept him from the preseason and initial 53-man roster. Spent 10 weeks on the practice squad. Promoted after injuries to Josh Kline and Brett Jones. Played 49 snaps [4.7%]. Active for two games, making his first NFL start in Week 17 at left tackle. Surrendered one pressure (a hit to Sean Mannion) to a blitzing Bears linebacker.

C Brett Jones (N/A) — Signed a one-year deal last spring with a $90,000 signing bonus and made the initial 53-man roster as center depth. Released a couple days later to make room for receiver Josh Doctson. Re-signed the following week after guard Pat Elflein suffered a knee injury in Week 1. Active for two games. Did not appear on offense. Played 11 special teams snaps [2.6%]. Suffered a torn MCL in a November practice and placed on injured reserve. Pending free agent.

OT Oli Udoh (N/A) — One of two rookie linemen stashed and 'redshirted' for rookie season. Drafted in the sixth round (193rd overall) out of Elon. Played 31 snaps [3%], all in the season finale against the Bears. Penalized twice, for holding and unnecessary roughness when he delivered a late hit to a pileup.

G Dru Samia (N/A) — One of two rookie linemen stashed and 'redshirted' for rookie season. Drafted in the fourth round (114th overall) out of Oklahoma. Played 31 snaps [3%], all in the season finale against the Bears. Not penalized.