Greene was born in the Sicklerville section of Winslow Township, New Jersey. He attended Winslow Township High School in Atco, New Jersey, and played for the Winslow Eagles high school football team as the starting running back and linebacker for the Eagles during his junior and senior years. In his junior year, Greene rushed for 1,267 yards and 18 touchdowns in 221 attempts earning first team all-conference, all-South Jersey, and all-state honors. He followed that with 1,378 yards and 16 touchdowns on 172 attempts as a senior earning first team all-conference and second team all-state. Greene also recorded 191 career tackles and one interception on defense.
Greene attended the University of Iowa, where he played for coach Kirk Ferentz's Iowa Hawkeyes football team. He missed the entire 2007 season when he left the University due to academic deficiencies. He enrolled at Kirkwood Community College, improved his grades, and returned to the University in 2008. Greene had a breakout season in 2008, winning the Doak Walker Award given to the nation's outstanding collegiate running back (the first Iowa player to win the award), and was recognized as a unanimous first-team All-American. He finished the season with 1850 yards rushing and 20 touchdowns; after the Hawkeyes won the 2009 Outback Bowl on January 1, 2009, Greene announced he would enter the 2009 NFL Draft. Greene was the only player that year to rush for over 100 yards in every game. On October 23, 2010, Greene was named honorary captain for Iowa's game against Wisconsin.
On April 26, 2009 the New York Jets traded up 12 spots to select Greene in the third round (65th overall) of the 2009 NFL Draft. On August 30 Greene made an appearance in the Jets preseason game against the Baltimore Ravens. He rushed twice for six yards as well as catching an 85-yard pass before leaving due to an undisclosed rib injury. Greene made his regular season debut after a season-ending injury of Leon Washington during week 7 against the Oakland Raiders. During the game against the Raiders, Greene ran for 144 yards and two touchdowns in a 38-0 victory. On December 27, 2009, Greene carried the ball 16 times for 95 yards in a win against the Indianapolis Colts. On January 9, 2010, Green ran for 135 yards and a touchdown in a 24-14 playoff win against the Cincinnati Bengals. His best performance of the season came against the San Diego Chargers in the divisional round of the playoffs. Greene carried the ball 23 times and rushed for 128 yards. He scored a 53-yard touchdown in the fourth quarter, as the Jets reached their first AFC Championship game since 1998. The Jets would play the AFC championship game against the Indianapolis Colts. The Jets had the lead at halftime 17-13. In the beginning of the 3rd quarter Greene injured his ribs and missed the rest of the game. He would finish the game with 41 rushing yards as the Jets would lose 30-17. Greene finished the 2009 season by playing in 14 games with 108 attempts for 540 yards and 2 touchdowns.
In the 2010 offseason the Jets did not resign running back Thomas Jones and signed instead LaDainian Tomlinson to be their starter and Shonn Greene to be the back-up. Shonn Greene got his first rushing touchdown of the 2010 season in a 29-20 win over the Minnesota Vikings. Greene finished the game with 57 yards on 10 attempts. On December 26, 2010 Greene ran for 70 yards on 12 attempts and 1 touchdown in loss to the Chicago Bears 38-34. Greene also rushed for 76 yard on 17 attempts and scored the game-closing touchdown against the Patriots in a playoff game.
In his first career start, Greene rushed for 26 yards on 10 carries in a win over the Dallas Cowboys. Greene got his first TD of the year in a Week 2 matchup between the Jacksonville Jaguars while adding 49 yards in 16 carries. In a Week 5 loss to the New England Patriots, Greene had 83 yards in 21 carries while getting a TD. Even though Greene could not follow up the same performance the next week, He had 74 yards in 21 carries in a victory over the Miami Dolphins. In a Week 7 victory over the San Diego Chargers, Greene had 112 yards in 20 carries. Greene ended the year with 1,054 yards in 253 carries with 6 touchdowns. Greene also carried the load for the Jets while playing the Redskins by rushing 88 yards and 3 TDs. That next week he had 129 yards rushing and 1 TD over the Chiefs.
In 2012, against the Indianapolis Colts, Greene ran for a career-high 161 yards, along with three touchdowns, as the Jets defeated the Colts 35-9. On the season, Greene rushed for 1,063 yards and 8 touchdowns.
On March 13, 2013, Greene signed a three-year, $10 million contract with the Tennessee Titans. On August 8 of a pre-season game Greene rushed for 32 yards on 5 carries and a 19-yard touchdown run in his Titans debut facing the Washington Redskins. Greene also caught the ball for a 13-yard play. In the season opener against the Steelers, Greene rushed for 18 yards on 4 carries before injuring his knee that sidelined him for 5 weeks. 7 weeks later Greene rushed for 38 yards and a Touchdown on 9 carries winning against the Rams. He also had a 28-yard catch and run. During Week 14 of the NFL season, Greene rushed for 46 yards and two touchdowns on 9 carries, which included a 28-yard touchdown in the second quarter. The Titans would ultimately lose the game to the Broncos by a score of 51-28. Greene finished the 2013 season with 295 yards and 4 Touchdowns.
In Week 1 of the 2014 NFL season, Greene rushed for 71 yards on 15 carries in a win against the Chiefs. Greene played his former team, the New York Jets, later that year and rushed for 50 yards on 15 carries in a loss. In the final game of the season, against the Indianapolis Colts, Greene had his best game of the season, rushing for a career long of 52 yards on a 4th and 1 play. Greene finished the game with 94 yards on 11 carries.
On June 16, 2015, Greene was released from the Titans.