Contact Us Form Opened

Contact Us

  • This field is for validation purposes and should be left unchanged.

 

New Ford Vehicles for Sale in Savannah, TN

Discover the latest lineup of new Ford trucks and SUVs at Jones Ford. As your trusted Ford dealership in Savannah, you can be sure that we always strive to offer a comprehensive selection of new models for every driver, so no matter your tastes, we have something for you. Come buy a new Ford F-150 in TN, review Bronco specials or submit your Mustang custom order — you’ll be in love with your new ride before the ink is dry on your sales contract.

Our commitment to transparent, market-based pricing ensures that you receive the best value we can offer you, so purchase from us with confidence. Plus, every purchase of a new Ford in Savannah comes with a lifetime warranty, providing peace of mind for the road ahead. We make it easy to sign an Escape lease or take home an F-150 Lightning in Georgia, so start shopping today!

/* Jones CDJR: show totals from each vehicle’s existing VDP option breakdown. */ (() => { ‘use strict’; if (window.__jonesFactoryUpgradeTotals) return; window.__jonesFactoryUpgradeTotals = true; const money = new Intl.NumberFormat(‘en-US’, { style: ‘currency’, currency: ‘USD’, maximumFractionDigits: 2, minimumFractionDigits: 0 }); const cachePrefix = ‘jonesFactoryOptionsV1:’; const pending = new Map(); const queued = []; const scheduled = new WeakSet(); let active = 0; function cents(text) { const cleaned = String(text || ”).trim(); if (!/^-?$[d,]+(?:.d{1,2})?$/.test(cleaned)) return null; const value = Number(cleaned.replace(/[$,]/g, ”)); return Number.isFinite(value) ? Math.round(value * 100) : null; } function readOptions(doc) { const section = doc.querySelector(‘#premium-options’); if (!section) return null; const unique = new Map(); function add(label, value) { if (value === null || value === 0) return; const normalized = String(label).replace(/s+/g, ‘ ‘).trim(); if (normalized) unique.set(normalized + ‘|’ + value, value); } section.querySelectorAll(‘.package-item’).forEach(item => { const price = item.querySelector(‘.package-header__price’); if (price) { add(item.querySelector(‘.package-header__text’)?.textContent || ”, cents(price.textContent)); return; } item.querySelectorAll(‘.description > li’).forEach(row => { const spans = Array.from(row.children).filter(child => child.tagName === ‘SPAN’); const prices = spans.map(span => cents(span.textContent)).filter(value => value !== null); if (prices.length === 1) { const label = spans.filter(span => cents(span.textContent) === null).map(span => span.textContent).join(‘ ‘); add(label, prices[0]); } }); }); const total = Array.from(unique.values()).reduce((sum, value) => sum + value, 0); if (!unique.size) return null; return total > 0 ? { cents: total, optionCount: unique.size } : null; } function cached(vin) { try { const entry = JSON.parse(sessionStorage.getItem(cachePrefix + vin) || ‘null’); if (!entry) return null; if (!(entry.expires > Date.now())) return null; if (!Number.isSafeInteger(entry.cents)) return null; return entry.cents > 0 ? entry : null; } catch (_) { return null; } } function store(vin, result) { try { sessionStorage.setItem(cachePrefix + vin, JSON.stringify({ …result, expires: Date.now() + 1800000 })); } catch (_) {} } async function load(url, vin) { const stored = cached(vin); if (stored) return stored; if (pending.has(vin)) return pending.get(vin); const request = (async () => { const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), 20000); try { const response = await fetch(url.href, { credentials: ‘same-origin’, signal: controller.signal }); if (!response.ok || !new URL(response.url).pathname.toLowerCase().includes(vin.toLowerCase())) return null; const doc = new DOMParser().parseFromString(await response.text(), ‘text/html’); if (!doc.querySelector(‘main’)?.textContent.toUpperCase().includes(vin.toUpperCase())) return null; const result = readOptions(doc); if (result) store(vin, result); return result; } catch (_) { return null; } finally { clearTimeout(timeout); } })(); pending.set(vin, request); return request; } function apply(link, result) { if (!result || !link.isConnected) return; const label = link.querySelector(‘span’); if (!label) return; label.textContent = ‘Includes ‘ + money.format(result.cents / 100) + ‘ in factory upgrades’; link.dataset.factoryUpgradeCents = String(result.cents); link.dataset.factoryUpgradeCount = String(result.optionCount); } function drain() { while (2 > active) { if (!queued.length) break; const task = queued.shift(); if (!task.link.isConnected) continue; active++; load(task.url, task.vin).then(result => { if (result) { apply(task.link, result); return; } if (!task.retry) { pending.delete(task.vin); queued.push({ …task, retry: true }); } }).finally(() => { active–; drain(); }); } } function queue(link) { if (scheduled.has(link)) return; const vin = link.closest(‘.jones-combined-card[data-vin]’)?.dataset.vin || link.closest(‘.result-wrap.new-vehicle’)?.querySelector(‘.ez360-srp-pic[data-vin]’)?.dataset.vin; if (!/^[A-HJ-NPR-Z0-9]{17}$/.test(vin || ”)) return; const url = new URL(link.getAttribute(‘href’), location.href); if (url.hostname !== location.hostname || !url.pathname.startsWith(‘/inventory/’)) return; url.protocol = location.protocol; url.hash = ”; scheduled.add(link); const stored = cached(vin); if (stored) return apply(link, stored); queued.push({ link, url, vin }); drain(); } const visibleLinks = typeof IntersectionObserver === ‘function’ ? new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { visibleLinks.unobserve(entry.target); queue(entry.target); } }); }, { rootMargin: ‘180px 0px’ }) : null; const observed = new WeakSet(); function scan(root) { root.querySelectorAll(‘.result-wrap.new-vehicle .jones-card-upgrades’).forEach(link => { if (observed.has(link)) return; observed.add(link); if (visibleLinks) visibleLinks.observe(link); else queue(link); }); } let attempts = 0; function boot() { const root = document.getElementById(‘lvrp-results-wrapper’); if (!root?.querySelector(‘.jones-card-upgrades’)) { if (150 > ++attempts) setTimeout(boot, 200); return; } scan(root); let timer; new MutationObserver(() => { clearTimeout(timer); timer = setTimeout(() => scan(root), 100); }).observe(root, { childList: true, subtree: true }); } if (document.readyState === ‘loading’) document.addEventListener(‘DOMContentLoaded’, boot, { once: true }); else boot(); })();
/* Format card estimates and position Compare against the photo. */(()=>{‘use strict’;if(window.__jonesWholeDollarPayments)return;window.__jonesWholeDollarPayments=true;const money=new Intl.NumberFormat(‘en-US’,{style:’currency’,currency:’USD’,maximumFractionDigits:0});const watched=new WeakSet();function photoSize(photo){const hit=photo.closest(‘.hit’);if(!hit)return;const value=Math.round(photo.getBoundingClientRect().height)+’px’;if(hit.style.getPropertyValue(‘–jones-photo-height’)!==value)hit.style.setProperty(‘–jones-photo-height’,value);}const resize=typeof ResizeObserver===’function’?new ResizeObserver(entries=>entries.forEach(entry=>photoSize(entry.target))):null;function scan(root){root.querySelectorAll(‘.hit-image-wrap’).forEach(photo=>{photoSize(photo);if(watched.has(photo))return;watched.add(photo);if(resize)resize.observe(photo);const img=photo.querySelector(‘img’);if(img)img.addEventListener(‘load’,()=>photoSize(photo),{once:true});});root.querySelectorAll(‘.jones-card-finance[data-payment]’).forEach(card=>{const value=Number(card.getAttribute(‘data-payment’));if(!Number.isFinite(value))return;if(!(value>0))return;const strong=card.querySelector(‘.jones-card-payment strong’);if(!strong)return;const first=strong.firstChild;if(!first)return;if(first.nodeType!==3)return;const wanted=money.format(value);if(first.nodeValue!==wanted)first.nodeValue=wanted;});}let tries=0;function boot(){const root=document.getElementById(‘lvrp-results-wrapper’);if(!root?.querySelector(‘.jones-card-finance’)){if(150>++tries)setTimeout(boot,200);return;}scan(root);let timer;new MutationObserver(()=>{clearTimeout(timer);timer=setTimeout(()=>scan(root),50);}).observe(root,{childList:true,subtree:true,characterData:true});window.addEventListener(‘resize’,()=>scan(root));}if(document.readyState===’loading’)document.addEventListener(‘DOMContentLoaded’,boot,{once:true});else boot();})();

Get Directions

510 Florence Road, Savannah, TN, 38372
Jones Ford 35.216984, -088.239543.