Willingham, who made $405,000 last season, had submitted an arbitration figure of $3.6 million. The Nationals had countered with $2.55 million.
His new one-year deal calls for performance bonuses of $25,000 each for 525, 550, 575 and 600 plate appearances.
The Nationals still have one more player scheduled for arbitration, third baseman Ryan Zimmerman.
Olsen avoided arbitration earlier this month when he agreed to a $2.8 million, one-year contract.
In Washington's other case, right-hander Shawn Hill won his hearing and was awarded a salary of $775,000 this season. The Nationals submitted a figure of $500,000.