Morris attended Valley Central High School in New York before attending Seton Hall University, where he played baseball for the Pirates under head coach Mike Sheppard. He was drafted 12th overall in the June 1995free agent draft by the St. Louis Cardinals. Morris pitched in the minor leagues in 1996 and 1997. In 1996, led the Texas League with 4 shutouts while pitching for the Double-A Arkansas Travelers and led all Cardinal minor league pitchers with 175 innings pitched. In 1997, he reached the majors after only one game at Triple-A Louisville. In his first season, he won 12 games with a 3.19 ERA and finished tied for second in the Rookie of the Year voting, behind Scott Rolen.
In 2004, Morris signed a one-year contract after he won 15 games on a Cardinals team that made the World Series. In 2004, he lost 10 games for the first time in his career and had a 4.72 ERA, also a career high.
Morris underwent surgery during the 2004/2005 off-season and started the season 8-0 with a 3.16 ERA, and was 10-2 with a 3.10 ERA at the time of the All-Star break. In fact, he was considered by many to be snubbed for the All-Star game. Morris went 4-7 with a 5.55 ERA after the All-Star break. He was the number three starter for the Cardinals in the playoffs, behind ace Chris Carpenter, and Mark Mulder. In the thin free-agent market of the 2005/2006 off-season, Morris was touted as one of the best available pitchers.
On December 12, 2005, Morris signed a 3-year contract with the San Francisco Giants worth $27 million. He had an injury-filled year with the Giants in 2006, going 10-15 with a 4.98 ERA.
Prior to the 2007 season, Morris changed his uniform number from 35, which he had worn for his entire career, to wear number 22 as a tribute to retired former teammate Mike Matheny. Rich Aurilia took the number 35 jersey.
Morris started off the 2008 season with a 0-4 record and a 9.67 ERA in 5 starts. On April 27, 2008, Morris was released by the Pirates. He retired three days later. Morris married the former Heather Reader on December 7, 2002 and together they have three children, Harper, Sidney and Lola.