The deal is for one-year at $13 million and is pending a physical, said the sources.
The Los Angeles Angels previously tried to trade Haren to the Chicago Cubs for Carlos Marmol in early November, but the deal fell through. Afterward the Angels declined to pick up his $15.5 million option, giving him a $3.5 million buyout.
With the $13 million from Washington, Haren stands to actually make out better than his option with the Angels would have been worth.
Haren, 32, will be joining his fifth team. He has gone 119-96 since breaking in with the St. Louis Cardinals in 2003 and has been selected for the All-Star team three times.