137 Pillars House Chiang Mai

A 150-year-old colonial trading post reborn as one of northern Thailand's most elegant boutique hotels. Thirty spacious suites orbit the original teak headquarters where old-school elegance meets modern luxury—and mostly succeeds.

The Highs

Suites that actually justify the word "suite"—Victorian tubs, outdoor showers, verandahs that deliver
Gardens where century-old trees steal the architectural show
Live piano music in the original 1889 teak building
Thailand's best breakfast coffee (verified by caffeine perfectionist)

Stuff You Should Know

Premium pricing that occasionally crosses into fantasy territory. The pool area reveals someone forgot landscaping isn’t just about having plants—they should look alive. Both restaurants skew formal when you might crave casual. Located 15 minutes from Old City chaos, which feels like a feature, not a bug.

The staff’s WhatsApp restaurant recommendations prove they understand their limitations. Museum underneath reveals building’s bones to architecture nerds. Some design details suggest attention occasionally wandered, but the overall restoration effort deserves serious respect. That breakfast coffee alone justifies at least one night.

Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.

Rates At-A-Glance

$550.

Rewards/Points Programs

Swank Guide Extras

Fancy the VIP treatment? Book with us, and we’ll make it happen. Early check-in, late check-out? Sorted. Free breakfast? Of course. F+B voucher? We’ll work on it. Room upgrade? Probably.

It’s all about who you know, and with our FORA partnership, you’re always in the inner circle. We’ll confirm what perks we’ve arranged before you ever pay.

Planes, Trains + TukTuks

Uninspiring Wat Gate enclave on Ping River’s peaceful side. Fifteen-minute walk to Old City madness, surrounded by temples, cafes, and residential calm.

Rate advice Approximate rates by room type and season

Low Season
High Season
Shoulder Season

Most basic room

Rajah Brooke Suite

$550

$800

$675

Mid-priced room

East Borneo Suite

$650

$950

$775

Most expensive room

Louis Leonowens Pool Suite

$950

$1400

$1150

Rates are approximate and for guidance only. To get prices for your trip dates, book with us.

Amenities In our room

Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.
Your template contains unsafe Twig tags, functions or globals. Please check it and remove any of these code constructs: block, set, embed, macro, filter, apply, verbatim, sandbox, with, include, import, from, use, extends, do, flush, passthru, exec, eval, system, shell_exec, proc_open, popen, assert, file_put_contents, file_get_contents, unlink, fopen, fwrite, call_user_func, call_user_func_array, create_function, reduce, constant, function, fn, source, template_from_string, _self, _charset, _env, globals. Also make sure you do not use string concatenations inside functions or filters calls.

*Top-scoring pillows are pillows we've rated 8 (or higher) out of 10 for comfort.

Food + Drink On-site surprises

When Victorian Traders Understood Good Coffee

The Dining Room delivers breakfast excellence and all-day Thai-international fusion in surroundings that whisper rather than shout. Palette occupies the formal dining throne in the original colonial building—beautiful but perhaps too conscious of its own elegance. Jack Bain’s Library Bar creates atmospheric magic among period furniture and actual books, perfect for contemplating how timber merchants entertained themselves. The Parlor Lounge takes afternoon tea seriously, complete with proper ceremony. And is our go-to for drinks at dusk. Hotel’s WhatsApp restaurant recommendations reveal wise understanding that sometimes guests need escape routes from on-site options.

Hotels

Close
Find Nearby Share Location Get Directions Close