The move puts Kovalchuk on his third team in the 2019-20 season. He started the campaign with the Los Angeles Kings before they waived him and his $18.25 million contract in December, then he landed with the Canadiens in January on a veteran's league minimum of $700,000.
The Capitals are strapped against the cap but got help from the Canadiens, who retained 50% of Kovalchuk's salary. It's the second big move the Capitals have made ahead of Monday's trade deadline; they also acquired San Jose veteran defenseman Brenden Dillon this week.
"Ilya is a talented offensive player who we feel will provide us with additional depth and flexibility up front," Capitals general manager Brian MacLellan said. "He is a skilled forward who can make plays and contribute to our offensive game."
Kovalchuk will get to team up with countryman Alex Ovechkin. The two Russian players are good friends, having played on several national teams together. They also both own homes in the Miami area. On Christmas this year, Ovechkin posted a photo of him and Kovalchuk sharing a glass of wine together.
Looking to join a contender, Kovalchuk signed with the Canadiens when they were seven points out of the Eastern Conference's second wild-card spot and six points out of the Atlantic Division's third playoff spot. Although he has contributed six goals and seven assists in 22 games, Montreal is virtually in the same place -- now eight and six points back of the respective playoff positions.
Kovalchuk was the No. 1 pick of the 2001 draft by the Atlanta Thrashers and has played in 919 career NHL games, scoring 442 goals and 872 points.
He signed a record 15-year, $100 million deal with the New Jersey Devils in 2010 but left just three years in to return to Russia, where he played for five years before returning to the NHL.
ESPN's Emily Kaplan contributed to this report.