Rudiger, 24, completed the transfer one week after helping world champions Germany win the Confederations Cup.
“It’s a great feeling because not every player has the opportunity to join a huge club like this,” said Rudiger.
The fee for Chelsea’s first major signing of the summer could rise to £33.3m with add-on clauses.
“Antonio is still young but is experienced at club and international level and possesses all the requisite attributes to thrive in the Premier League,” said Chelsea’s technical director Michael Emenalo.
“He is a player of proven quality.”
Rudiger will wear the number two shirt left vacant after Branislav Ivanovic’s departure to Zenit St Petersburg in February.
Because he was set to take a break after his involvement in the Confederations Cup, Rudiger is unlikely to be involved when the majority of Antonio Conte’s squad return to pre-season training on Monday.
The rise and rise of Antonio Rudiger
Rudiger played for Borussia Dortmund at youth level before moving to Stuttgart in 2011.
He made his Bundesliga debut in January 2012 and clocked up 66 appearances in Germany’s top flight before moving to Roma in 2015.
Rudiger made 30 Serie A appearances in 2015-16 as Roma finished third and a further 26 in 2016-17 as they were runners-up to Juventus.
He also played six Champions League games in 2015-16 as Roma reached the last 16.