Willingham saw a reduced amount of playing time in 2008 due to a 50-game stint on the disabled list, appearing in just over 100 games as opposed to over 140 in the previous two years. His production suffered as his batting average regressed (.258) and his home run totals dipped to 15 on the season. He homered in 4 straight games for first time in career, September 21–26.
On November 11, 2008, Willingham was traded to the Washington Nationals, along with pitcher Scott Olsen for Emilio Bonifacio, Jake Smolinski, and P.J. Dean. Willingham began 2009 as the Nationals' fifth outfielder behind Adam Dunn, Elijah Dukes, Austin Kearns, and Lastings Milledge. In May, however, Kearns was sidelined with a fractured foot, giving Willingham a starting role. Dunn was eventually moved to first base and Milledge was traded for then-Pittsburgh Pirates outfielder Nyjer Morgan. Willingham was very productive, proving himself worthy of the everyday left fielder position. On July 27, 2009, Willingham became the 13th player in MLB history to hit two grand slams in the same game and the 7th in MLB history to accomplish this feat in back to back innings. He ended the season with a line of .260/.367/.496 with 24 home runs and 61 RBIs. Having secured the starting left field job, Willingham was productive in the Nationals lineup in 2010. He batted 5th behind sluggers Ryan Zimmerman and Adam Dunn.