Having completed the capture of Josh Murphy from Norwich City earlier this week, Cardiff have signed Cunningham for an undisclosed fee – thought to be £4million.
The 27-year-old Republic of Ireland international joins the Premier League newcomers on a three-year deal.
‘It’s fair to say that I’ve been an admirer of Greg for a number of years and that he’s consistently been one of the best left-sided defenders for club and country,’ manager Neil Warnock told the official Cardiff website.
‘We’re delighted to have his experience and knowledge so as to supplement Joe Bennett who had a great time last season.
‘I anticipate that Greg coming in will give us a lot of strength down that left-hand side.’
Cunningham made 111 appearances for Preston after joining the Sky Bet Championship club from Bristol City in 2015.
Warnock has targeted five summer signings as Cardiff seek to strengthen their squad following promotion to the top flight.