He played college football for the Houston Cougars, where he became the NCAA's all-time leader in total passing yards, touchdowns, and completions.
He is the only quarterback in Division I FBS football history to have passed for more than 5,000 yards in each of three seasons, and the only college player to reach the 20,000-yards plateau in career total offense.
In 2015, the Rams (who later relocated to Los Angeles) traded a draft pick to the Texans for Keenum, where he played until signing as a free agent with the Minnesota Vikings in 2017.
After starter Sam Bradford was injured, Keenum came in and had a career year, setting highs in starts, passing yards, completions, and touchdowns.
[8][9] In fall camp before the 2007 season, the Cougars held a de facto quarterback competition to fill the starting spot vacated by the departure of four-year starter Kevin Kolb.
The competition swung between Keenum and sophomore Blake Joseph throughout two-a-days and during much of the season, with each player displaying a different set of strengths and weaknesses.
[10] Against C-USA rival Tulane in the second game, Keenum threw for 185 yards and a touchdown on 13-of-21 passing, leading Houston to a 34–10 win.
Keenum's outstanding pocket presence and efficient passing won out in the end over Joseph's stronger arm and running ability.
[2] The Houston Cougars showed many signs of improvement, winning their first bowl game since 1980 with a victory over Air Force, and defeating two nationally ranked opponents.
[19][20][21] Houston played East Carolina on the road in the Conference USA Championship, but lost the game in the final minute.
[31][32] Keenum also enrolled in the University of Houston College of Liberal Arts and Social Sciences studying for a master's degree in sports and fitness administration.
Keenum finished the narrow 17–16 road loss completing 15 of 25 passes for 271 yards and a touchdown for a 110.6 passer rating, the highest by a Texan quarterback in the season.
[52] On August 31, 2014, Keenum was waived by the Texans to clear a roster space for recently acquired quarterback Ryan Mallett.
He was waived by the Rams on October 28, 2014, in order to make room on the roster for newly acquired safety Mark Barron.
[55] He filled a roster spot after starting quarterback Ryan Fitzpatrick broke his leg during a Week 15 17–10 road loss to the Colts.
[58] Head coach Jeff Fisher announced that Keenum would be the backup quarterback to recently acquired Nick Foles.
[60] Near the end of a Week 11 16–13 road loss to the Ravens, Keenum suffered a concussion that left him visibly wobbly but was not removed from the game for evaluation.
[61] Keenum recovered from the concussion and led the Rams to consecutive victories against the Detroit Lions, Tampa Bay Buccaneers, and Seattle Seahawks.
After a 28–0 shutout road loss to the San Francisco 49ers in the season-opener, he led the team to three straight wins over the Seahawks, Buccaneers, and Arizona Cardinals.
[67] In the next game against the New York Giants at Twickenham Stadium, Keenum threw for 291 yards, a touchdown, and four interceptions as the Rams lost on the road by a score of 17–10.
[72] Due to an injury to Sam Bradford, Keenum started in the Week 2 matchup against the Pittsburgh Steelers, completing 20 of 37 passes for 167 yards in a 26–9 road loss.
With only 10 seconds left in the fourth quarter, he threw a pass to Stefon Diggs, who ran 61 yards for the game-winning touchdown, giving the Vikings a miraculous 29–24 victory.
In the NFC Championship Game, the Vikings were defeated on the road by a score of 38–7 by the eventual Super Bowl winners, the Philadelphia Eagles, led by Keenum's close friend and former Rams teammate Nick Foles.
[94][95] Keenum made his Redskins debut in the season-opening 32–27 road loss to the Eagles and threw for a career-high 380 yards and three touchdowns.
[98] During a Week 4 24–3 road loss to the Giants, Keenum threw for 37 yards and an interception before being benched for rookie quarterback Dwayne Haskins in the second quarter.
[99] Two weeks later against the Miami Dolphins, Keenum threw for 166 yards and two touchdowns as the Redskins narrowly won their first game of the season on the road by a score of 17–16.
[102] Keenum remained the starter for the regular-season finale and finished with 206 yards, a touchdown, and an interception in a 47–16 road loss to the Cowboys.
[106][107] Keenum was named the starter for the Browns' Week 7 matchup against the Broncos on October 20, 2021, due to a shoulder injury from Mayfield.
[109] Keenum also started in the season finale against the Cincinnati Bengals, throwing for 176 yards, two touchdowns, and an interception while also losing a fumble during the 21–16 victory.
[114] He started again in Week 16 against Browns but got benched for Davis Mills in the second half after completing 11 of 17 passes for 62 yards and two interceptions as the Texans lost 36–22.