Johnson agreed a four-year contract with the Black Cats and became manager Martin O'Neill's second signing in the space of a few hours after he swooped for Wolves striker Steven Fletcher earlier on Friday.
O'Neill had been tracking Johnson for several weeks and it is reported Sunderland paid around £10 million to beat Tottenham and Everton in the race to secure the former Middlesbrough winger's signature.
The Johnson deal takes O'Neill's Friday spending spree to close to £25 million after he paid a reported £15 million for Fletcher.
"Adding quality players to the squad has been our main aim this summer and Adam certainly fits that bill," O'Neill told www.safc.com. "He has terrific ability, great delivery and I'm sure he is a player who will excite our fans. I couldn't be more delighted to have him at the football club."
Johnson has won 11 caps for England, with his most recent coming in last week's friendly win over Italy.
But the 25-year-old, who was born close to Sunderland in County Durham, struggled to hold down a regular first-team place at City after his £7 million move from Middlesbrough in 2010.
A significant amount of 97 City appearances came from the substitutes bench and he has been keen to leave for some while. Although he was a fringe member of Roberto Mancini's squad, Johnson still picked up Premier League and FA Cup winners' medals during his time at City.