Only one Republican, Rep. Justin Amash (Mich.), voted against the bill. Amash, a libertarian-leaning member, frequently clashes with GOP leadership.
Twenty-nine Democrats crossed over to vote for the pipeline.
Republicans have touted the bill as a job creator, while many Democrats have warned of adverse effects construction of the pipeline -- which would run from Canada to the U.S. Gulf Coast -- would have on the environment.
The Senate and House votes suggest that Republicans will not have the numbers to override Obama's veto. Two-thirds of both chambers would have to reject Obama's veto to overrule it.
The Senate passed the bill by a 62-36 margin.