General Motors will spend $5.5 billion to buy back 200 million shares of its stock from the federal government.
The government also plans to sell its remaining stake in the automaker within the next 12 to 15 months.
GM will pay $27.50 per share, about $2 more than Tuesday's closing stock price.
The government got its shares of the company as part of a $49.5 billion bailout of GM that began nearly four years ago.
The bailout saved GM from collapsing into financial ruin.
The move leaves the government with 300 million shares. GM says the government plans to sell them on the open market starting in January.
The deal still leaves the government $21.5 billion short of breaking even on its investment.