The 29-year-old only made four appearances in the County Championship for Hampshire in 2014.
"It's been a sad decision to make, but I think it's in the best interests of my cricket to go elsewhere and to start a fresh chapter in my career," Balcombe told BBC Radio Solent.
"Coming up to 30, I need to play and I wasn't getting the opportunity."
London-born Balcombe came through Surrey's academy but joined Hampshire after impressing for Durham MCCU, making his debut in 2006.
After a loan spell at Kent in 2011, where he took 33 wickets in five Championship matches, Balcombe took 59 first-class wickets for Hampshire in 2012.
However, he has been unable to replicate that form since then and this year he took five wickets in Division Two at an average of 48.80.
"It's sad to leave the club that gave me my first chance in professional cricket and I've had some wonderful memories," he said.
"It's a wonderful club to have been a part of and I'm very proud to have been part of such an ambitious club. I had the opportunity to sign an extension but I want to broaden my horizons and Surrey have given me that opportunity.
"It was a hard decision to make because of what the club have given me but I had to make a selfish decision. It's a fresh challenge, they pushed hard to get me and it's an exciting move."
Surrey have signed fast bowler David Balcombe from Division Two champions Hampshire on a two-year contract.