Gold rallied for a fifth straight day on Monday, hitting a record high on uncertainties around the U.S. election, ongoing Middle East tensions, and expectations of central banks' interest rate cuts, while silver hit a near 12-year peak.

Spot gold gained 0.5% to $2,733.50 per ounce, as of 0910 GMT, after hitting an all-time high of $2,733.82 earlier in the day. U.S. gold futures were 0.7% higher at $2,748.20.

"The uncertainty of the U.S. presidential election outcome is one factor supporting hedging demand for gold, the other probably are the geopolitical tensions in the Middle East," UBS analyst Giovanni Staunovo said.

The presidential race between former President Donald Trump and Vice President Kamala Harris is neck-and-neck in the seven battleground states that will decide the Nov. 5 election.

Elsewhere, in the Middle East, hundreds of Beirut residents fled their homes as Israel prepared to attack sites linked to the financial operations of the Hezbollah group.

Gold, which is considered a hedge against political and geopolitical uncertainty, has risen 32% so far this year.

"Ongoing solid demand from central bank also supports gold, in my view. We look for gold to reach to $2,900/oz over the next 12 months, supported by further rate cuts by the Fed," Staunovo added.

Traders are pricing in a 90% chance of the U.S. Federal Reserve lowering rates in November, according to the CME FedWatch tool. Gold tends to thrive in a low interest rate environment.

Sources told Reuters that the European Central Bank was likely to cut again in December, while British inflation slowed sharply last month, reinforcing bets of a Bank of England rate cut next month.

Helped by bullion's rally, spot silver rose 1.2% to $34.06 per ounce, its highest since late-2012.

There is little to stop silver's upward march if gold continues to set new highs, but any downside could turn the $32.55 resistance into a new support level, Kinesis Money said in a note.

Platinum rose 0.5% to $1,018.90 per ounce, its highest since mid-July. Palladium fell 0.3% to $1,075.87.

(Reporting by Anushree Mukherjee in Bengaluru; Editing by Varun H K)