The deal was announced on Stoke's official website, with the Championship club confirming the fee could rise to £3million.
"It was made clear to Danny that we very much wanted him to stay and he was made two contract offers, the last one being a new four-year contract.
"Danny has now submitted a written transfer request and has stated that he no longer feels he can be committed to the club.
"This offer amounts to a guaranteed £2.5million, along with an additional possible further £500,000 dependant on both Sunderland's and Danny's performance.
"We are hugely disappointed to lose Danny, however it is difficult to keep a player who no longer wants to play for you."