The signing is a move from City to further boost their homegrown ranks.
The 18-year-old winger has moved for a figure that is understood to be £11million, with £5m up front with a further £6m in add-ons.
City announced the signing on Twitter with a picture of Roberts signing the contract but offered no further details.
Manchester City are delighted to announce the signing of @patrick7roberts from @FulhamFC. #mcfcpic.twitter.com/Gg9pm7Kh7S
— Manchester City FC (@MCFC) July 19, 2015
The 18-year-old had a year left on his contract at Craven Cottage but handed in a transfer request on Saturday.
Roberts made his Fulham debut at the Etihad Stadium against City in 2014 and amassed 22 first-team appearances for the Cottagers. He follows fellow Englishmen Raheem Sterling and Fabian Delph to City following their moves from Liverpool and Aston Villa respectively.