The deal is worth a total of $13.75 million, a source told ESPN.com.
Polak, 25, had foot and wrist injuries last season, limiting him to 55 games. He finished with three goals, nine assists and 33 penalty minutes.
"We believe Roman is one of the top defensive defensemen in the league who plays against the opposing team's best players night after night," Blues general manager Doug Armstrong said in a statement. "He's one of our top penalty killers who is just reaching the prime of his career and we're happy to have him in the fold for the next five years."
Polak was set to become a restricted free agent July 1.
Information from ESPN.com's Pierre LeBrun was used in this report.