After dating for nearly two years, Harry, 29, recently confided in friends that things were not going well with the 24-year-old beauty.
"He found her too needy and it just wasn't working out," says a source close to the prince.
But another source, who is close to the couple, says the breakup was "amicable."
"It's very sad but they have decided to split up," the second source tells PEOPLE. "This is an amicable decision and they are very much still the best of friends but they have decided to go their separate ways."
The source adds that Cressida wants to concentrate on her career and they are hoping that they will not be "hounded" now that the news has emerged.
The couple were introduced by Princess Eugenie, a close friend of Bonas, who recently completed a postgraduate program in dance studies at London's Trinity Laban Conservatoire of Music and Dance. But they had always tried to keep their relationship out of the spotlight.
Recently, though, the couple had been seen out and about, enjoying dinner dates, and Cressida – known as Cressy to her friends – even attended her first official event last month, supporting Prince Harry as he gave a speech at the launch of WE Day, a charity event for Free the Children at Wembley Arena.
On Tuesday, Harry met with wounded service personnel hoping to take part in the Invictus Games, which he will launch this fall. Meanwhile, Cressida was spotted picking a healthy takeout from a juice bar.