Republican Mitt Romney has won his party's presidential primary in the US state of Michigan, throwing the race for the nomination wide open.
Mr Romney, who lost the first two major contests, said his win was "the beginning of a comeback".
Senator John McCain, who came second, congratulated Mr Romney, saying he had worked hard to ensure he won the vote.
Michigan has no impact on the race for the Democratic nomination because of a party dispute over scheduling.
The result revived Mr Romney's campaign, after defeats in Iowa on 3 January and in New Hampshire five days later, despite spending heavily in those states.
Mr Romney's only victory to date had been in the Wyoming caucuses, on 5 January, which none of the candidates seriously contested.
Speaking to his supporters in Michigan, Mr Romney, a wealthy businessman and former Massachusetts governor, said: "Only a week ago a win looked like it was impossible, but then you got out and told America what they needed to hear.
"Tonight marks the beginning of a comeback, a comeback for America."
Mr McCain, who won in New Hampshire, was quick to congratulate Mr Romney.
But the 71-year-old Arizona senator pledged to carry on the battle on the campaign trail.
"For a minute there in New Hampshire I thought this campaign might be getting easier. But you know what? We've gotten pretty good at doing things the hard way too.
"And I think we've shown them we don't mind a fight," he said.
Mike Huckabee, the winner in Iowa, also congratulated Mr Romney on having "won a great race".
But he made clear he was already looking forward to the next contest, in South Carolina on Saturday.
KEY DATES FOR CANDIDATES
19 Jan: Nevada caucuses; South Carolina primary (Rep)
26 Jan: South Carolina primary (Dem)
29 Jan: Florida primary
5 Feb: some 20 states including California, New York, New Jersey
"We're going to make it real clear, that the first-in-the-South primary is going to give their support to the first-in-the-South candidate," he said.
Mr Huckabee is a former Arkansas governor.
Mr Huckabee and Mr McCain both headed to South Carolina before the Michigan results were tallied. Mr Romney was expected to follow them there.
Race 'wide open'
Mr Romney is likely to have benefited from his strong local connections in Michigan - his father George was governor in the 1960s, and his wife was also born in the state.
His business experience may also have played well in a state where the economy has become a big issue as the car industry struggles and job losses rise.
The BBC's North America editor Justin Webb says this was a good night for Mr Romney, but it does not mean he is the front-runner and the Republican race is so open that there is talk of it going on for months.
Mr McCain and Mr Huckabee are still in the hunt, while actor-politician Fred Thompson has been focussing heavily on South Carolina and former New York Mayor Rudy Giuliani on Florida, which holds its primary on 29 January.
The Democratic Party denied Michigan the right to send delegates to its convention - when the party's presidential candidate will be chosen - because the state party chose to hold its primary early.
Of the Democratic frontrunners, none campaigned in the state, and only Hillary Clinton had her name on the ballot.
She won a majority of the votes cast, but a substantial number went to the ballot listing for "uncommitted".
Candidate wins nomination by accumulating 1,191 delegates
Most are "pledged delegates", won at primaries or caucuses
Delegates vote at summer convention to confirm nominee
The campaigns for rivals Barack Obama and John Edwards had urged supporters to vote "uncommitted" to prevent Mrs Clinton seeming to make a clean sweep.
As the Michigan results came in, the Democratic candidates were taking part in a debate in Las Vegas, Nevada, where caucuses will be held on Saturday.
Mrs Clinton and Mr Obama promised to end their damaging dispute over racial politics.
Mr Obama spoke of the importance of coming together as a people, while Mrs Clinton said: "We're all family in the Democratic party."