A giant $42 billion stimulus package has passed the Senate following a week of drawn-out negotiations between the Government and crossbenchers.

Independent senator Nick Xenophon was the last crossbencher to agree to terms with the Government.

After talks with Treasurer Wayne Swan overnight and Friday morning, Senator Xenophon announced he was ready to vote for the package.