Late trade was cautious, however, analysts said, as traders waited to see unemployment and jobs data for September, to be released at 1230 GMT Friday.
At 2100 GMT the euro was trading at $1.3018, compared to $1.2903 late Wednesday.
The euro pushed higher on the Japanese currency, trading to 102.16 yen from 101.31 yen, while the dollar-yen situation was almost flat, at 78.48 yen per dollar compared to 78.51 on Wednesday.
The British pound also climbed strongly to $1.6191 from $1.6073, while the dollar slipped to 0.9301 Swiss francs from 0.9385 francs.
"Today's price action was a bit of a surprise move for many market participants as the central banks making decisions today decided to do nothing," said Neal Gilbert of GFT.
"Risk turned positive for a majority of the day as equities, commodities, and risk currencies all rallied in unison despite the lack of action from monetary policy makers."
The euro's strength, though, may have benefited from the ECB's assurances that it was ready to support crisis-hit countries.
ECB chief Mario Draghi said the bank's new bond-buying "bazooka" was primed and ready to help crisis-hit countries, as he praised Spain's reform efforts.
He stressed that it was now up to governments to act and get their economies and finances in order to end the eurozone's deep woes.
On Friday, currency trading is expected to stay focused on the US jobs report: the Labor Department releases the official data on jobs created and the unemployment rate for September.
Most economists are expecting dull numbers, net jobs created may be 120,000 -- up from last month but well below last year's average -- and the jobless rate sticking at 8.1 percent.
"We are going to go into a big stall overnight, ahead of the non-farm payrolls, to see the next move," said Boris Schlossberg of BK Forex.
"It feels like they should be relatively positive. Strong employment growth will be positive for risk, but if we have surprisingly weak non-farm payrolls... the market will see this as a sign of weakness."
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional