// Adds dimensions UUID, Author and Topic into GA4
Sunday, August 23, 2026
29.3 C
Singapore

CBD office rents hit five-year high; premium office rents to keep rising through 2027: Savills

SINGAPORE: Grade A office rents in Singapore’s Central Business District (CBD) climbed to a five-year high in the third quarter (Q3), with Savills Singapore expecting premium office rents to keep rising through 2027 amid a limited supply of Grade A spaces, Singapore Business Review reported.

Savills’ executive director Alan Cheong said premium office rents are likely to continue rising by 2% to 3% annually over the next two years, supported by sustained occupancy levels and a tight pipeline of new developments.

CBD’s Grade A office rents rose 0.8% quarter-on-quarter (QoQ) to S$9.93 per square foot (psf) as new office supply was limited and occupancy stayed high, while concerns over interest rates began to ease. Year-on-year (YoY), Grade A office rents grew at the fastest pace since the fourth quarter (Q4) of 2022, up 2.1%.

The increase was led by Grade AAA office rents, which climbed 1.0% to S$13.19 psf, the highest since early 2015. Meanwhile, Grade AA and A spaces gained 0.7% and 0.8% to S$10.85 psf and S$8.81 psf, respectively. Marina Bay recorded a ten-year high, with rents rising 1.1% to S$13.17 psf. /TISG

Read also: Office rents outside Singapore’s CBD to grow faster as CBD rents rise and vacancy dips, says Cushman & Wakefield

- Advertisement -

Hot this week

‘What’s the point of maximising my salary?’ American considers US$70k pay cut to move to Singapore

The American says he misses being able to walk, use public transport and feel safe late at night when he returns to the US.

Singapore employee questions S$15 fine after SME boss penalises him for being 13 minutes late

A 13-minute delay came with a S$15 price tag. The employee is now asking whether that price is legal.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks