You’ll be completely transported to a Scandinavian vacation and lose all track of time at these luxury thermal spas near Ottawa.
Don’t forget to bring your swimsuit, flip-flops and a water bottle.
Nordik Spa-Nature
Price: $86+
Address: 16 Chem. Nordik, Chelsea, QC
Why You Need To Go: As the largest thermal spa in North America, Nordik Spa-Nature has 10 outdoor pools, nine saunas, an exfoliation room, a saltwater floatation pool, four restaurants and more treatments and rituals. Here you can enjoy a view over Gatineau from the infinity pool.
Website
Koena Spa
Price: $39+
Address: 1172 Chem. d’Aylmer, Gatineau, QC
Why You Need To Go: Located only 10 minutes from downtown Ottawa, this escape within the city is a cost-effective way to enjoy Nordic spa amenities. They have a Pa’akai Himalayan salt room where you’ll feel like you’re seaside, and it’s the ultimate relaxing experience.
Website
Uppliva Sauna & Steam
Price: $60+
Address: 1140 Wellington St. W Suite C100, Ottawa, ON
Why You Need To Go: Uppliva is nestled in the trendy Hintonburg neighbourhood, offering a traditional sauna and steam circuit, including a cold plunge pool. You could lose hours hanging out in the cozy hammocks chair relaxing with a tea by the fireplace.
Website
Moulin Wakefield Mill Hotel & Spa
Price: $100+ including a treatment
Address: 60 Chem. Mill, Wakefield, QC
Why You Need To Go: Here you can de-stress with a massage and time in the sauna before floating in a hot-tub pool next to the fireplace.
Website
Amerispa Spa Nordique Cantley
Price: $43+
Address: 5 Chem. Ste-Elisabeth, Cantley, QC
Why You Need To Go: Surrounded by lush forest, Amerispa offers the full thermal experience of hot and cold baths, saunas and steam rooms, as well as relaxation areas both indoor and outdoor.
Website
Polar Bear’s Club
Price: $50+
Address: 930 Bd des Laurentides, Piedmont, QC
Why You Need To Go: Cozied up next to the Simon River, you can go for a dip in the river before warming up in their assortment of saunas, steam baths and outdoor whirlpools.
Website
Spa et Hotel le Finlandais
Price: $50+
Address: 124 Boul Labelle, Rosemere, QC
Why You Need To Go: You will find unique variations of saunas and pools from different traditions, such as Norweigan Falls, Neptune’s Cave, Japanese Sauna, Aromas of Egypt Sauna, Moroccan Lounge and Helsinki Bubbles. They offer bistro food and a hotel on-site to extend your stay.
Website
In Ontario, a vaccine passport is required to access some events, services and businesses, including restaurants and bars.
In Quebec, a vaccine passport is required to access many businesses and activities deemed non-essential, including restaurants and bars.
Before you get going, check our Responsible Travel Guide so you can be informed, be safe, be smart, and most of all, be respectful on your adventure.
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
!function(p,r,e,s,b,d)p.pbq(window,document,'script');
pbq('init', '250789');
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
let editProfile = document.querySelector('.gdpr-cookie-content');
let wrapper = document.querySelector('.rm-gdpr');
editProfile.addEventListener("click", function ()
wrapper.classList.add('hidden')
);
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
const supportPageOffset = window.pageXOffset !== undefined;
let previousScrollPosition = 0;
const isScrollingDown = () =>
let scrolledPosition = supportPageOffset
? window.pageYOffset
: isCSS1Compat
? document.documentElement.scrollTop
: document.body.scrollTop;
let isScrollDown;
if (scrolledPosition > previousScrollPosition)
isScrollDown = true;
else
isScrollDown = false;
previousScrollPosition = scrolledPosition;
return isScrollDown;
;
const handleNavScroll = () =>
if(document.querySelector(".rumble-sticky--show"))
if (isScrollingDown() )
document.querySelector(".rumble-sticky--show").classList.add("active");
else
document.querySelector(".rumble-sticky--show").classList.remove("active");
;
var throttleTimer;
const throttle = (callback, time) =>
if (throttleTimer) return;
throttleTimer = true;
setTimeout(() =>
callback();
throttleTimer = false;
, time);
;
const mediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)");
window.addEventListener("scroll", () =>
throttle(handleNavScroll, 10);
);
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
function setCookie(cname, cvalue, exdays)
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
function getCookie(cname)
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i
');
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function(){
const updatePrimaryTags = () =>
const primaryTagElements = document.querySelectorAll(
'.custom-field-selected-topic'
);
if (!primaryTagElements) return;
primaryTagElements.forEach((tag) =>
if (!tag) return;
if (tag.getElementsByTagName('a').length !== 0) return;
const topicSlug = tag.innerText
.toString()
.toLowerCase()
.trim()
.normalize("NFD")
.replace(/[u0300-u036f]/g, "")
.replace(/s+/g, '-')
.replace(/&/g, '-y-')
.replace(/[^w-]+/g, '')
.replace(/--+/g, '-')
.replace('manger-et-sortir', 'manger-sortir')
.replace('eat-and-drink', 'eat-drink');
const cityPageElement = document.querySelector('.city-name.article');
let link;
if(cityPageElement)
const href = cityPageElement.getElementsByTagName('a')[0].getAttribute('href');
link = `$href$topicSlug`
else
link = `/$topicSlug`
const linkEl = document.createElement('a');
linkEl.setAttribute('href', link);
linkEl.innerText = tag.innerText;
tag.innerHTML = '';
tag.appendChild(linkEl)
);
;
updatePrimaryTags();
});
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
var _sponsored = "";
var _nsfw = "false";
var post_id = document.querySelector('article').getAttribute("elid");
var nsfw = 546863483;
var fr_vedette = 549266910;
var sponsored = 549961341;
var post = JSON.parse(document.querySelector("#post-context-" + post_id).innerHTML);
if (post.post.sections.includes(fr_vedette) );
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
var _sponsored = "";
var _nsfw = "false";
var post_id = document.querySelector('article').getAttribute("elid");
var nsfw = 546863483;
var fr_vedette = 549266910;
var sponsored = 549961341;
var post = JSON.parse(document.querySelector("#post-context-" + post_id).innerHTML);
if (post.post.sections.includes(fr_vedette) );
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function() isSponsored == "True")
window.c_data_type = "sponsored";
else if(c_sections.includes(c_nsfw))
window.c_data_type = "nsfw";
else window.c_data_type = "none";
document.querySelector("#IO_wrapper").setAttribute("data-ad-type", window.c_data_type);
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function(){
function prepareFloatingHeadline(video)
var videoParent = video.closest('.widget');
var pusher = document.createElement("div");
pusher.style.height = "76px";
pusher.classList.add("js-hidden-panel");
var closeButton = document.createElement("div");
closeButton.classList.add("close-button");
closeButton.classList.add("close-button-hide");
var clonedHeadlines = videoParent.querySelector('.widget__body').cloneNode(true);
clonedHeadlines.classList.replace('widget__body', 'widget__floating-headlines');
var clonedDate = videoParent.querySelector('.widget__head + .widget__body').cloneNode(true);
clonedDate.classList.replace('widget__body', 'widget__floating-info');
if (clonedHeadlines.querySelector(".widget__subheadline"))
clonedHeadlines.removeChild(clonedHeadlines.querySelector(".widget__subheadline"));
var widget_section = clonedHeadlines.querySelector(".widget__section");
if (widget_section)
clonedHeadlines.removeChild(widget_section);
if (clonedDate.querySelector(".js-expandable"))
clonedDate.removeChild(clonedDate.querySelector(".js-expandable"));
var contentContainer = document.createElement("div");
contentContainer.classList.add('info-wrapper-sticky');
//contentContainer.appendChild(closeButton);
contentContainer.appendChild(clonedHeadlines);
contentContainer.appendChild(clonedDate);
video.appendChild(contentContainer);
video.appendChild(closeButton);
function createElChangeListener(selector, callback)
const initializedNodes = new Set([]);
document.querySelectorAll(selector).forEach(node =>
callback(node);
initializedNodes.add(node);
);
const mutationObserver = new MutationObserver(() =>
const nodes = document.querySelectorAll(selector);
nodes.forEach(node =>
if (!initializedNodes.has(node))
callback(node);
initializedNodes.add(node);
);
);
mutationObserver.observe(document.body,
childList: true,
subtree: true
);
var stopVideo = function ( element )
var iframe = element.querySelector( 'iframe');
var video = element.querySelector( 'video' );
if ( iframe )
var iframeSrc = iframe.src.replace("&autoplay=1","");
iframe.src = iframeSrc;
if ( video )
video.pause();
;
createElChangeListener('.widget__head', (el) =>
if(el.querySelector('.widget__video'))
if(document.querySelector('.widget__head a.widget__play') && el.querySelector('.article-body'))
document.querySelector('.widget__head a.widget__play').click();
prepareFloatingHeadline(el.querySelector('.widget__video'));
floatingObserver.observe(el);
);
if(document.querySelector(".close-button"))
document.querySelector(".close-button").addEventListener("click", function()
var entryVideo =document.querySelector('.article-body .widget__video');
if (entryVideo.querySelector('.article-body [type="video-content"]'))
document.querySelector(".close-button").classList.add("close-button-hide");
entryVideo.querySelector('.article-body [type="video-content"]').classList.remove('rumble-sticky-video')
if(entryVideo.querySelector('.widget__floating-headlines'))
entryVideo.querySelector('.widget__floating-headlines').classList.remove('headline-sticky');
if(entryVideo.querySelector('.widget__floating-info'))
entryVideo.querySelector('.widget__floating-info').classList.remove('info-sticky');
entryVideo.classList.remove("js-hidden-panel")
if( entryVideo.querySelector('video'))
entryVideo.querySelector('video').pause();
entryVideo.querySelector('video').style.height = "100%";
entryVideo.querySelector('video').parentElement.style.maxHeight = "370px";
else
stopVideo(entryVideo);
entryVideo.classList.remove('rumble-sticky--show');
)
});