The Broncos drafted Iowa tight end Noah Fant after trading back in the first round. (Andy Lyons/Getty Images)

A defense-heavy first round of the 2019 NFL draft concluded late Thursday night, with three quarterbacks coming off the board in the first 15 picks.

Who were the biggest winners and losers? Let’s take a look at the best and worst picks of the first round:

Best picks

Denver Broncos: Noah Fant, TE, Iowa (20th overall pick)

By not drafting a quarterback of the future, Broncos decision-maker John Elway won the present. The team had the option of taking Missouri quarterback Drew Lock at 10th overall but instead traded with the Pittsburgh Steelers to move back to No. 20, adding a second-round pick this year and a third-rounder next year. Then, Denver passed up Lock again and filled a need by drafting Fant, who provides veteran QB Joe Flacco with an athletic pass-catcher.

Washington Redskins: Dwayne Haskins, QB, Ohio State (15th)

The Redskins didn’t need to trade up to get the quarterback they wanted. Haskins fell to them as the team read the draft board perfectly, knowing there would be a run on defensive linemen early. Washington should also get credit for moving back into the first round to get an impact edge rusher in Mississippi State’s Montez Sweat at 26th overall.

Buffalo Bills: Ed Oliver, DT, Houston (9th)

The Bills lucked out when Oliver, one of the draft’s two best defensive tackles, fell to them. Some thought the team was going to trade up to No. 3 to land Alabama’s Quinnen Williams, but that would have cost Buffalo a lot of draft capital. Oliver has the potential to be a difference-maker for the Bills’ defense, and Buffalo didn’t have to surrender additional choices to get him.

Seattle Seahawks: L.J. Collier, DE, TCU (29th)

Seattle should get docked for reaching for a player who was projected by many as a Day 2 pick, not a first-rounder. But the Seahawks accomplished their goal of adding more picks, after trading Frank Clark to the Chiefs for a first-round pick and then moving down twice Thursday. They now have nine draft choices and are well-positioned to improve their roster on Day 2.

Worst picks

Atlanta Falcons: Chris Lindstrom, G, Boston College (14th); Kaleb McGary, OT, Washington (31st)

This isn’t a knock against the players, but the Falcons seemed to miss an opportunity to help their defense. Instead, they drafted two offensive linemen, even trading back into the first round for McGary, after spending a combined $11.5 million per year in free agency for guards James Carpenter and Jamon Brown and giving Ty Sambrailo a $4.75 million contract extension. They might have been surprised by the Dolphins snatching Clemson defensive tackle Christian Wilkins with the 13th pick, but this was a puzzling first round for Atlanta.

Oakland Raiders: Clelin Ferrell, DE/OLB, Clemson (4th)

The Raiders stunned almost everyone with the selection of Ferrell over Kentucky edge rusher Josh Allen; Ferrell was commonly projected to be picked in the middle or late stages of the first round. The choice of Alabama running back Josh Jacobs made sense, although they probably could have gotten him at No. 27 instead of No. 24. Safety Johnathan Abram of Mississippi State is a good player, but Oakland leaves the first round without having filled its need at cornerback.

Green Bay Packers: Rashan Gary, DE/OLB, Michigan (12th); Darnell Savage Jr., S, Maryland (21st)

Again, this isn’t a commentary on the quality of the players, as Gary and Savage are talented. But I question whether the Packers would have been better off taking Wilkins, who went 13th to the Dolphins, and then staying put at No. 30 to select an offensive lineman such as Cody Ford. The trade up to select Savage cost them fourth- and sixth-round picks. They shouldn’t be criticized for waiting to draft a wide receiver, as that was never in the team’s first-round plans.

New York Giants: Daniel Jones, QB, Duke (6th)

It would be fair to criticize all three of the Giants’ first-round picks. Clemson nose tackle Dexter Lawrence was a reach at No. 17, which is the first-rounder they obtained from the Cleveland Browns in the Odell Beckham Jr. trade. Georgia cornerback Deandre Baker is a good player, but in trading up to the 30th pick they had to give up two fourth-round selections. But the one that sticks out the most is Jones. The team probably could have taken a top defensive player such as Josh Allen or Ed Oliver and then selected Jones 17th overall — or made a modest trade back up to land him.

More NFL coverage:

The NFL draft is ruining Nashville for bachelorette parties

Top remaining NFL draft prospects entering the second round

Redskins’ selection of Dwayne Haskins deserves a pat on the back — and a healthy dose of skepticism

Smart NFL teams trade down at the draft. Most NFL teams aren’t smart.