President Obama could sign the nearly 790-billion dollar bill in coming days.
The House vote was 246-183.
No Republicans voted for the measure.
Democrats argued a bold stimulus is urgently needed to jolt the ailing economy. Republicans said the bill was thrown together hastily and is filled with wasteful spending that will not necessarily boost the sagging economy.
Republicans also complained the final, one-thousand page compromise bill wasn't available to lawmakers until a few hours before the final House debate.
Democrats and Republicans went back-and-forth for several hours on the floor of the House. California Democrat Henry Waxman argued, quote, "Our nation's economy is foundering (and) we need to respond; we urgently need an economic recovery package to set the nation on the proper course to rebound."
Indiana Republican Mike Pence said the Democratic bill "will do nothing to stimulate this economy in the long-term." He insisted it will only "stimulate more government and more debt."