The Senate approved the bill in the wee hours of Wednesday morning on a 51-48 vote, but had to send it back to the House, which had passed it on Tuesday, for another vote due to a procedural foul-up that embarrassed Republicans, but was not expected to change the outcome.