The 2004 United States Senate election in Iowa was held on November 2, 2004. Incumbent RepublicanChuck Grassley ran for re-election to a fifth term. Grassley and former State SenatorArthur A. Small won the Republican and Democratic primaries, respectively, unopposed, and faced each other in the general election. Though this election coincided with the highly competitive presidential race, Grassley was not considered vulnerable and defeated Small in a landslide, winning more than 70% of the vote and outperforming Republican President George W. Bush by over 20% and almost 300,000 votes in the concurrent presidential race.
As of 2025, this is the last time a Republican Senate candidate won Johnson County. This is also the last time that the winning U.S. Senate candidate in Iowa carried all 99 counties.