Graham previously played for Ipswich in 2013 on a short term loan from Aston Villa.
He moved to Wolves in 2015, but made just 14 appearances as he struggled to break into the first team.
The 23-year-old featured in Wolves' first two league matches in their promotion winning season, before moving to Fulham on loan.
The former England U16 and U17 player will become Ipswich boss Paul Hurst's 10th signing.
He will wear the number 14 shirt for the coming season.