The annual inflation rate hit 1.1% last month, according to official statistics agency Eurostat, a sharp jump from November's rate of 0.6%.
The rate is the highest since September 2013, when inflation was also 1.1%.
The higher-than-expected increase brings inflation closer to the European Central Bank's target of just below 2%.
ECB chief Mario Draghi has said he expects inflation to reach the target by 2018 or 2019.
Last month's increase was driven mainly by a jump in energy prices, which rose by 2.5% year-on-year in December, their first increase in over a year. Energy prices were boosted by oil cartel Opec's decision to cut output.
Food, alcohol and tobacco prices rose 1.2% year-on-year, while services were also 1.2% more expensive than a year ago.
The rise will help to allay fears that the eurozone could slip into deflation, weakening economic growth.
However, while the headline rate of inflation increased sharply in December, the core rate - which excludes prices of items such as energy and food which are driven by world markets - increased only slightly from 0.8% to 0.9%.
The small rise could mean the jump in inflation is short-lived, analysts suggested.
However, a separate survey from IHS Markit indicated that the eurozone economy expanded at its fastest rate for more than five-and-a-half years in December.
The survey also said that output charges - what companies price their goods at - rose for the second month running and at the steepest pace since July 2011.
"The survey data are signalling a 0.4% expansion of GDP in the fourth quarter," said IHS Markit chief economist Chris Williamson.
"The concern is that domestic demand is likely to remain subdued over the course of 2017 as political uncertainty dominates, resulting in another year of disappointing growth across the region as a whole."
Eurozone inflation has surged to its highest rate in more than three years, driven by increased prices for energy, food, alcohol and tobacco.