Freeman was a first-round pick in 2009 out of Kansas State.

Freeman put together one of the most decorated careers of any Wildcat quarterback, setting program records for passing yards and passing touchdowns during his three seasons in Manhattan. He decided to forgo his final year of eligibility, and Tampa Bay took him with the 17th overall pick.

Freeman had to wait until roughly halfway through the season before making his starting debut, a win over Green Bay in which he tossed three touchdowns. Overall he struggled as a rookie, completing just 54.5 percent of his passes and throwing 10 touchdowns to 18 interceptions. In his second year, he led the Buccaneers to a 10-6 record, just barely missing the playoffs, and was named a Pro Bowl alternate. Things seemed to be heading in the right direction.

But Freeman regressed in his third year — as did the team, which went 4-12 — before bouncing back in 2011, throwing for over 4000 yards and posting a career-high 27 touchdowns. In 2013, the Bucs started 0-3, and the Buccaneers decided to go with Mike Glennon as their starter. Freeman was eventually released.

He then played with the Vikings, the FXFL, the Colts and several Canadian Football League

The Vikings claimed Freeman just three days after his release, and Freeman ended up starting one game for Minnesota, a 23-7 loss to the Giants in which he completed just 20 of 53 passes. After brief stays with the Giants and Dolphins in which he saw no game action during the 2014 season, Freeman ended up in the now-defunct Fall Experimental Football League with the Brooklyn Bolts in 2015.

With the Colts decimated by injury, they added Freeman in late December, 2015. He ended up starting the final game of the regular season, throwing for 149 yards, a score and an interception in a 30-24 win.

Freeman had multiple workouts with Canadian Football League teams before signing a two-year deal with the Alouettes on January 12, 2018. He retires at just 30 years old.