Last week, Kovalchuk walked away from $77 million left on his 15-year contract with the New Jersey Devils.
SKA did not disclose the terms of the deal with Kovalchuk in its statement Monday. SKA president Gennady Timchenko described the 30-year-old Kovalchuk as a "real leader."
Kovalchuk scored 417 goals and added 399 assists in 816 NHL games. His best seasons were in 2005-06 and 2007-08 when he scored a career-high 52 goals. He had three other 40-goal seasons.
Kovalchuk has represented Russia at three Winter Olympics, nine world championships, one world junior championship and the 2004 World Cup. He played with SKA St. Petersburg during the recent lockout.