Walsh was born in Holland, Pennsylvania. He attended Germantown Academy, a private preparatory school in Fort Washington, Pennsylvania, where he played high school basketball for the Germantown Academy Patriots.
Walsh accepted an athletic scholarship to attend the University of Florida in Gainesville, Florida, where he played for coach Billy Donovan's Florida Gators basketball team for three seasons from 2002 to 2005. As a junior, Walsh suffered torn left ankle ligaments and missed several games, but recovered to lead the Gators to the Southeastern Conference (SEC) tournament championship and the second round of the 2005 NCAA Men's Division I Basketball Tournament.
The Miami Heat originally signed Walsh as an undrafted free agent out of the University of Florida in 2005. He was then waived on November 18, 2005, after playing in two NBA regular season games. In the 2006 NBA preseason, he was signed by the New Jersey Nets, and they then released him in October.
In the 2006-07 season, Walsh played with Olympia Larissa in the Greek League, having a successful year for both the team and himself. He was considered one of the most valuable players in the Greek League that year, and he was also the second best scorer of the competition, averaging 17.8 points per game. Walsh also played with the Cleveland Cavaliers in the NBA Summer League in 2007, and he later signed a one-year contract with Bàsquet Manresa of the Spanish ACB League.
In August 2009, Walsh signed with the Adriatic League club Union Olimpija. In February 2010, he joined the Greek League club Aris. On October 25, 2010 he signed a one-year contract with ASVEL Lyon-Villeurbanne in France.
In November 2011 Walsh signed with UCAM Murcia in Spain. On January 6, 2012, he signed with Saski Baskonia, also in Spain.
In August 2012, Walsh signed with Spirou Charleroi of Belgium. In February 2013, he joined Brose Baskets Bamberg. On August 2, 2013, he signed a two-year deal with Virtus Bologna. On August 13, 2014, he signed with Eskişehir Basket.
On September 24, 2015, Walsh officially announced his retirement from professional basketball.