The 24-year-old has agreed a two-year deal, moving from last season’s League One champions Bristol City.
Cunningham played 32 times for The Robins last season but the ex-Manchester City player has joined Preston until the summer of 2017, for an undisclosed fee.
Preston North End manager Simon Grayson has seen several departures in the defensive department, including Scott Wiseman and David Buchanan, and expressed his delight at securing Cunningham’s services.
“What you find with Greg is that he is a really good age, but he is experienced as well and has played for some good clubs.”
“We are very pleased to have got him; he’s desperate to do well for Preston North End and try and get back into the Ireland squad” said Grayson.
The Irishman enjoyed several loan spells in the East Midlands with Leicester City and Nottingham Forest, before joining Bristol City for a £650,000 fee.
Cunningham can’t wait to get started with the Deepdale club and admitted there was no hesitation in flying home from Portugal early when he heard Preston were interested.
“I had a year left on my contract at Bristol City, but with my football being limited last year I was looking to get out and get games.”
“When the gaffer and Preston showed an interest I came back early from Portugal and I am now delighted to have signed for the next two years” said Cunningham.
He left City’s pre-season training camp in Portugal to meet up with PNE officials on Friday before watching North End’s 2-1 victory over Motherwell.
He then proceeded to have a medical in Glasgow the next day and was granted permission by City to train with North End ahead of the move being finalized.