On October 2, 2007, the Blues decided to add Perron to the roster after he had an impressive training camp. On November 3, 2007, he scored his first NHL goal against the Chicago Blackhawks in a 3-2 loss. On July 21, 2010, the Blues re-signed Perron to a two-year $4.3 million contract. He only played 57 games during the 2011–12 NHL season because of an injury. On July 5, 2012, he signed a four-year, $15.25 million contract with the Blues.