Sens. John McCain, Lisa Murkowski and Susan Collins joined with Democrats to oppose the measure, a major blow to President Donald Trump and the Republican congressional agenda.
McCain, who had voted for a motion to proceed to the bill Tuesday after returning to Washington following surgery for a brain tumor, held out all day, including in a news conference where he criticized the partisan process that led to the after-midnight vote.
His surprise decision came after a prolonged drama on the Senate floor. Multiple Republican colleagues, including Vice President Mike Pence, engaged in animated conversations with the Arizona senator who has long cherished his reputation as a maverick.
At one point before the final vote, Trump called Pence, who handed the phone to McCain, a source briefed on the call told CNN. The call, just off the Senate floor, was brief and ultimately unsuccessful.
Republican lawmakers have had several fits and starts this year, including a dramatic vote in the Senate earlier this week -- but the failure lays bare a hard-to-swallow political reality for Republicans after months of painful negotiations and soul-searching: There is little will left in the GOP to gut a health care law that the party has been railing against for seven years.
Speaking after the vote, Senate Majority Leader Mitch McConnell looked stunned and lamented the vote and the inability of the GOP to fulfill its long-term campaign pledge.
"This is clearly a disappointing moment," McConnell said. "Our constituents have suffered through an awful lot under Obamacare. We thought they deserved better. It's why I and many of my colleagues did as we promised and voted to repeal this failed law. We told our constituents we would vote that way. And when the moment came, when the moment came, most of us did."
"It's time to move on," he said, moving the Senate on to the defense authorization bill.
Trump in an early morning tweet reacted to the Senate vote, writing "3 Republicans and 48 Democrats let the American people down. As I said from the beginning, let ObamaCare implode, then deal. Watch!"
3 Republicans and 48 Democrats let the American people down. As I said from the beginning, let ObamaCare implode, then deal. Watch!— Donald J. Trump (@realDonaldTrump) July 28, 2017
THINK YOUR FRIEND WOULD BE INTRESTED? SHARE THIS STORY USING ANY OF THE SHARE BUTTON BELOW ⬇ PLACE YOUR TEXT ADVERT BELOW:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>