READY WHEN YOU ARE
Ready to plan the journey?
Search available flights and compare fares when you are ready to put this guide into action.
Search flights[ { "@context": "https://schema.org", "@type": "Article", "headline": "Cheap Local Flights in Nigeria: The Complete Guide (2025)", "description": "The ultimate guide to finding cheap domestic flights in Nigeria. Compare all airlines, discover the cheapest routes, best booking times, airport tips, and save up to 50% on local flights.", "image": "https://blog.tbils.com/wp-content/uploads/cheap-local-flights-nigeria.jpg", "author": { "@type": "Organization", "name": "Tbils Travel", "url": "https://tbils.com" }, "publisher": { "@type": "Organization", "name": "Tbils Travel Blog", "url": "https://blog.tbils.com", "logo": { "@type": "ImageObject", "url": "https://blog.tbils.com/wp-content/uploads/tbils-logo.png" } }, "datePublished": "2025-06-15", "dateModified": "2025-06-22", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://blog.tbils.com/cheap-local-flights-nigeria" }, "keywords": ["cheap local flights Nigeria","domestic flights Nigeria","cheapest airline Nigeria","Nigeria domestic flight prices","how to book cheap flights Nigeria","Air Peace","Ibom Air","Arik Air","Nigeria airports"], "articleSection": "Travel Guide", "about": { "@type": "Country", "name": "Nigeria", "sameAs": "https://www.wikidata.org/wiki/Q1033" }, "wordCount": "3200" }, { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What is the cheapest domestic flight in Nigeria?", "acceptedAnswer": { "@type": "Answer", "text": "The cheapest domestic flights in Nigeria are typically on the Abuja–Lagos (ABV–LOS) and Lagos–Port Harcourt (LOS–PHC) routes, with fares starting from ₦25,000 one-way when booked 3–6 weeks in advance on Air Peace or Ibom Air." } }, { "@type": "Question", "name": "Which Nigerian airline is cheapest?", "acceptedAnswer": { "@type": "Answer", "text": "Air Peace and Ibom Air consistently offer the lowest domestic fares in Nigeria. Air Peace runs frequent flash sales, while Ibom Air has competitive base fares on its A220 fleet. Always compare across carriers on tbils.com before booking." } }, { "@type": "Question", "name": "How do I get cheap flights in Nigeria?", "acceptedAnswer": { "@type": "Answer", "text": "To get cheap flights in Nigeria: book 3–6 weeks ahead, fly midweek (Tuesday or Wednesday), avoid public holidays and December, check airline websites directly for exclusive fares, travel with hand luggage only, and use fare comparison tools like tbils.com to monitor price drops." } }, { "@type": "Question", "name": "How many domestic airports are in Nigeria?", "acceptedAnswer": { "@type": "Answer", "text": "Nigeria has 26 airports managed by the Federal Airports Authority of Nigeria (FAAN), of which around 10–12 are regularly served by scheduled commercial domestic flights. The busiest are Lagos (LOS), Abuja (ABV), Port Harcourt (PHC), Kano (KAN), and Uyo (QUO)." } }, { "@type": "Question", "name": "What is the best time to book cheap domestic flights in Nigeria?", "acceptedAnswer": { "@type": "Answer", "text": "The best times to book cheap domestic flights in Nigeria are January to April and September to October. Avoid December, Eid periods, and public holidays when fares can triple. Book at least 3 weeks in advance for the best prices." } }, { "@type": "Question", "name": "Can I book Nigerian domestic flights online?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, all major Nigerian airlines — including Air Peace, Ibom Air, United Nigeria, and Arik Air — offer online booking through their websites and apps. You can also compare and book all carriers at once on tbils.com." } } ] }, { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://blog.tbils.com" }, { "@type": "ListItem", "position": 2, "name": "Nigeria Flights", "item": "https://blog.tbils.com/nigeria-flights" }, { "@type": "ListItem", "position": 3, "name": "Cheap Local Flights in Nigeria", "item": "https://blog.tbils.com/cheap-local-flights-nigeria" } ] }]/* ── TOKENS ── */:root { --ink: #0F0E2A; --cobalt: #3B6EF8; --cobalt-l: #6B93FA; --saffron: #F59E0B; --saffron-l:#FCD34D; --chalk: #F9F9FF; --slate: #1E293B; --muted: #64748B; --border: #E2E8F0; --white: #FFFFFF; --red: #EF4444; --green: #10B981;}/* ── RESET ── */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }.ng-blog { font-family: 'Inter', -apple-system, sans-serif; color: var(--ink); background: var(--chalk); line-height: 1.7; overflow-x: hidden;}/* ── BREADCRUMB ── */.ng-breadcrumb { background: var(--white); padding: 11px 24px; font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--border);}.ng-breadcrumb a { color: var(--cobalt); text-decoration: none; }.ng-breadcrumb a:hover { text-decoration: underline; }.ng-breadcrumb span { margin: 0 7px; color: #CBD5E1; }/* ════════════════════════════════ HERO════════════════════════════════ */.ng-hero { background: var(--ink); padding: 56px 24px 0; position: relative; overflow: hidden;}/* star-field dots */.ng-hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,0.18) 0%, transparent 100%), radial-gradient(1px 1px at 78% 9%, rgba(255,255,255,0.12) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 44% 72%, rgba(255,255,255,0.10) 0%, transparent 100%), radial-gradient(1px 1px at 92% 55%, rgba(255,255,255,0.14) 0%, transparent 100%), radial-gradient(1.5px 1.5px at 25% 88%, rgba(255,255,255,0.08) 0%, transparent 100%), radial-gradient(1px 1px at 60% 35%, rgba(255,255,255,0.10) 0%, transparent 100%); pointer-events: none;}.ng-hero-inner { max-width: 900px; margin: 0 auto; position: relative; z-index: 2;}.ng-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(59,110,248,0.18); border: 1px solid rgba(59,110,248,0.35); color: var(--cobalt-l); font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 6px 14px; border-radius: 4px; margin-bottom: 22px;}.ng-hero h1 { font-family: 'Syne', sans-serif; font-size: clamp(30px, 6vw, 60px); font-weight: 800; color: var(--white); line-height: 1.08; letter-spacing: -0.02em; margin-bottom: 18px;}.ng-hero h1 .hl { color: var(--saffron); }.ng-hero-sub { color: rgba(255,255,255,0.58); font-size: clamp(14px, 2vw, 17px); max-width: 560px; margin-bottom: 36px; line-height: 1.65;}/* ── HERO STAT PILLS ── */.hero-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 44px;}.hp { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 50px; padding: 8px 18px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,0.75);}.hp strong { color: var(--saffron); font-size: 15px; }/* ════════════════════════════════ ROUTE MAP — SIGNATURE ELEMENT════════════════════════════════ */.route-map-wrap { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px 16px 0 0; padding: 24px 20px 20px; max-width: 780px;}.rmap-label { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 14px;}#ngRouteMap { width: 100%; height: auto; display: block; cursor: default; }/* Route lines */.r-line { stroke: rgba(59,110,248,0.35); stroke-width: 1.5; fill: none; transition: stroke 0.2s; }.r-line:hover { stroke: var(--cobalt-l); stroke-width: 2.5; }.r-line.cheap { stroke: rgba(16,185,129,0.45); }.r-line.cheap:hover { stroke: #34d399; stroke-width: 2.5; }/* City dots */.city-dot { fill: var(--cobalt); stroke: var(--ink); stroke-width: 2; transition: fill 0.2s, r 0.2s; cursor: pointer; }.city-dot:hover { fill: var(--saffron); }.city-dot.hub { fill: var(--saffron); stroke: rgba(245,158,11,0.4); stroke-width: 5; r: 7; }/* City labels */.city-lbl { font-family: 'Inter', sans-serif; font-size: 10px; fill: rgba(255,255,255,0.65); font-weight: 600; pointer-events: none; }.city-code { font-family: 'Syne', sans-serif; font-size: 11px; fill: rgba(255,255,255,0.9); font-weight: 700; pointer-events: none; }/* Tooltip */#mapTooltip { position: absolute; background: var(--slate); border: 1px solid rgba(59,110,248,0.4); border-radius: 8px; padding: 8px 14px; font-size: 12px; color: #fff; pointer-events: none; opacity: 0; transition: opacity 0.18s; white-space: nowrap; z-index: 10;}#mapTooltip strong { color: var(--saffron); }.map-legend { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 14px; font-size: 12px; color: rgba(255,255,255,0.45);}.ml-item { display: flex; align-items: center; gap: 6px; }.ml-line { width: 24px; height: 2px; border-radius: 1px; }/* Hero bottom space */.hero-bottom { height: 0; background: var(--ink); }/* ════════════════════════════════ TABLE OF CONTENTS════════════════════════════════ */.ng-layout { max-width: 960px; margin: 0 auto; padding: 52px 24px 80px; display: grid; grid-template-columns: 1fr; gap: 0;}.ng-toc { background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--cobalt); border-radius: 0 12px 12px 0; padding: 22px 26px; margin-bottom: 44px;}.ng-toc .toc-title { font-family: 'Syne', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cobalt); margin-bottom: 14px;}.ng-toc ol { list-style: none; counter-reset: toc; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 24px;}.ng-toc ol li { counter-increment: toc; }.ng-toc ol li a { color: var(--slate); text-decoration: none; font-size: 14px; display: flex; align-items: flex-start; gap: 8px; padding: 4px 0; transition: color 0.15s;}.ng-toc ol li a::before { content: counter(toc, decimal-leading-zero); color: var(--cobalt); font-size: 11px; font-weight: 700; min-width: 20px; margin-top: 2px;}.ng-toc ol li a:hover { color: var(--cobalt); }/* ── ARTICLE META ── */.ng-meta { display: flex; align-items: center; gap: 14px; padding: 14px 20px; background: var(--white); border-radius: 10px; border: 1px solid var(--border); margin-bottom: 40px;}.ng-avatar { width: 44px; height: 44px; background: linear-gradient(135deg, var(--ink), var(--cobalt)); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0;}.ng-meta .mn { font-weight: 700; font-size: 14px; color: var(--ink); }.ng-meta .md { font-size: 12px; color: var(--muted); margin-top: 2px; }.ng-reading { margin-left: auto; font-size: 12px; color: var(--muted); background: #F1F5F9; padding: 5px 13px; border-radius: 20px; white-space: nowrap;}/* ── QUICK ANSWER ── */.ng-qa { border-left: 5px solid var(--cobalt); background: linear-gradient(135deg, #EEF3FF, #E8EFFE); border-radius: 0 12px 12px 0; padding: 22px 28px; margin-bottom: 50px;}.ng-qa .qa-tag { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--cobalt); margin-bottom: 10px;}.ng-qa p { font-size: 17px; color: var(--ink); font-weight: 500; line-height: 1.65; margin: 0; }.ng-qa strong { color: var(--cobalt); }/* ── HEADINGS ── */.ng-layout h2 { font-family: 'Syne', sans-serif; font-size: clamp(22px, 3.5vw, 30px); font-weight: 800; color: var(--ink); margin: 56px 0 18px; line-height: 1.2; letter-spacing: -0.01em; padding-bottom: 16px; border-bottom: 2px solid var(--border); position: relative;}.ng-layout h2::before { content: ''; position: absolute; bottom: -2px; left: 0; width: 56px; height: 2px; background: linear-gradient(90deg, var(--cobalt), var(--saffron));}.ng-layout h3 { font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 700; color: var(--ink); margin: 32px 0 10px; letter-spacing: -0.01em;}.ng-layout p { font-family: 'Source Serif 4', Georgia, serif; color: #334155; font-size: 16.5px; line-height: 1.82; margin-bottom: 18px;}.ng-layout p a { color: var(--cobalt); text-decoration: none; font-weight: 600; }.ng-layout p a:hover { text-decoration: underline; }/* ── CHAPTER LABEL ── */.chapter-label { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--cobalt); background: #EEF3FF; padding: 4px 12px; border-radius: 4px; margin-bottom: 10px;}/* ════════════════════════════════ AIRLINE COMPARISON TABLE════════════════════════════════ */.airline-table-wrap { background: var(--white); border-radius: 16px; border: 1px solid var(--border); overflow: hidden; margin: 28px 0 44px; box-shadow: 0 4px 20px rgba(15,14,42,0.06);}.al-table { width: 100%; border-collapse: collapse; font-size: 14px;}.al-table thead th { background: var(--ink); color: rgba(255,255,255,0.7); padding: 14px 16px; text-align: left; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;}.al-table thead th:first-child { color: #fff; }.al-table tbody tr:nth-child(even) { background: #F8FAFC; }.al-table tbody tr:hover { background: #EEF3FF; }.al-table td { padding: 13px 16px; color: #334155; border-bottom: 1px solid #F1F5F9; vertical-align: middle;}.al-table td:first-child { font-weight: 700; color: var(--ink); font-size: 15px; }.al-table .tag { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 0.5px; padding: 2px 9px; border-radius: 20px;}.tag-green { background: #D1FAE5; color: #065F46; }.tag-blue { background: #DBEAFE; color: #1E40AF; }.tag-amber { background: #FEF3C7; color: #92400E; }.tag-red { background: #FEE2E2; color: #991B1B; }.stars { color: var(--saffron); font-size: 13px; letter-spacing: -1px; }/* ════════════════════════════════ ROUTE PRICE CARDS════════════════════════════════ */.routes-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 28px 0 44px;}.route-card { background: var(--white); border: 1.5px solid var(--border); border-radius: 14px; padding: 20px; transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s; position: relative; overflow: hidden;}.route-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(59,110,248,0.1); border-color: #A5B4FC;}.route-card .rc-route { display: flex; align-items: center; gap: 8px; margin-bottom: 12px;}.rc-code { font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 800; color: var(--ink);}.rc-arrow { color: var(--cobalt); font-size: 14px; }.rc-badge { margin-left: auto; font-size: 10px; font-weight: 700; padding: 2px 9px; border-radius: 20px;}.rc-price { font-family: 'Syne', sans-serif; font-size: 26px; font-weight: 800; color: var(--cobalt); line-height: 1; margin-bottom: 4px;}.rc-from { font-size: 12px; color: var(--muted); margin-bottom: 12px; }.rc-details { font-size: 13px; color: #64748B; }.rc-details span { display: flex; align-items: center; gap: 6px; padding: 2px 0; }.rc-details span::before { content: '·'; color: var(--cobalt); font-weight: 700; }/* ════════════════════════════════ TIPS — CHECKLIST STYLE════════════════════════════════ */.checklist { margin: 24px 0 44px; }.cl-item { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; background: var(--white); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 10px; transition: border-color 0.2s;}.cl-item:hover { border-color: #A5B4FC; }.cl-check { width: 32px; height: 32px; min-width: 32px; background: linear-gradient(135deg, var(--cobalt), #2952d0); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; box-shadow: 0 3px 10px rgba(59,110,248,0.3); flex-shrink: 0;}.cl-body strong { display: block; font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 4px; font-family: 'Inter', sans-serif;}.cl-body span { font-size: 14px; color: var(--muted); line-height: 1.55;}/* ════════════════════════════════ PRICE SEASON TABLE════════════════════════════════ */.season-wrap { background: var(--white); border-radius: 16px; border: 1px solid var(--border); overflow: hidden; margin: 24px 0 44px; box-shadow: 0 2px 12px rgba(0,0,0,0.04);}.season-table { width: 100%; border-collapse: collapse; font-size: 14px; }.season-table thead th { background: var(--ink); color: rgba(255,255,255,0.75); padding: 13px 16px; text-align: left; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;}.season-table tbody tr:nth-child(even) { background: #F8FAFC; }.season-table tbody tr:hover { background: #EEF3FF; }.season-table td { padding: 12px 16px; color: #334155; border-bottom: 1px solid #F1F5F9;}.season-table td:first-child { font-weight: 600; color: var(--ink); }.pt-lo { color: var(--green); font-weight: 700; }.pt-mid { color: #D97706; font-weight: 700; }.pt-hi { color: var(--red); font-weight: 700; }/* ── CALLOUT BOXES ── */.ng-callout { display: flex; gap: 16px; align-items: flex-start; border-radius: 12px; padding: 20px 22px; margin: 28px 0;}.ng-callout .ci { font-size: 22px; min-width: 26px; }.ng-callout p { margin: 0; font-size: 15px; line-height: 1.65; }.ng-callout p strong { display: block; margin-bottom: 3px; }.callout-blue { background: #EEF3FF; border: 1px solid #A5B4FC; }.callout-blue p, .callout-blue p strong { color: #1E40AF; }.callout-amber { background: #FFFBEB; border: 1px solid #FCD34D; }.callout-amber p { color: #78350F; }.callout-amber p strong { color: #92400E; }.callout-green { background: #F0FDF4; border: 1px solid #86EFAC; }.callout-green p { color: #166534; }.callout-green p strong { color: #15803D; }/* ── AIRPORT LIST ── */.airport-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin: 24px 0 44px;}.ap-card { background: var(--white); border: 1px solid var(--border); border-radius: 12px; padding: 18px 18px; display: flex; gap: 14px; align-items: flex-start; transition: border-color 0.2s;}.ap-card:hover { border-color: #A5B4FC; }.ap-iata { font-family: 'Syne', sans-serif; font-size: 20px; font-weight: 800; color: var(--cobalt); background: #EEF3FF; width: 52px; height: 52px; min-width: 52px; border-radius: 10px; display: flex; align-items: center; justify-content: center;}.ap-name { font-weight: 700; font-size: 14px; color: var(--ink); margin-bottom: 3px; }.ap-city { font-size: 12px; color: var(--muted); }.ap-state { font-size: 11px; color: #94A3B8; margin-top: 2px; }/* ════════════════════════════════ FAQ════════════════════════════════ */.ng-faq { margin: 16px 0 52px; }.ng-fi { background: var(--white); border: 1.5px solid var(--border); border-radius: 12px; margin-bottom: 10px; overflow: hidden; transition: border-color 0.2s, box-shadow 0.2s;}.ng-fi.open { border-color: #A5B4FC; box-shadow: 0 4px 18px rgba(59,110,248,0.08); }.ng-fq { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; cursor: pointer; gap: 14px; user-select: none;}.ng-fq span { font-weight: 600; font-size: 15px; color: var(--ink); line-height: 1.4; font-family: 'Inter', sans-serif; }.ng-fchev { width: 30px; height: 30px; min-width: 30px; background: #EEF3FF; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--cobalt); font-size: 14px; transition: transform 0.3s, background 0.2s, color 0.2s; font-style: normal;}.ng-fi.open .ng-fchev { transform: rotate(180deg); background: var(--cobalt); color: #fff; }.ng-fa { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; padding: 0 22px;}.ng-fa p { font-size: 15px; color: #4B5563; line-height: 1.75; padding-bottom: 18px; margin: 0; font-family: 'Inter', sans-serif; }.ng-fi.open .ng-fa { max-height: 320px; }/* ════════════════════════════════ CTA════════════════════════════════ */.ng-cta { background: linear-gradient(135deg, var(--ink) 0%, #1a1850 100%); border-radius: 20px; padding: 52px 40px; text-align: center; position: relative; overflow: hidden;}.ng-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 80% 20%, rgba(59,110,248,0.18) 0%, transparent 60%); pointer-events: none;}.ng-cta h2 { font-family: 'Syne', sans-serif; font-size: clamp(24px, 4vw, 38px); font-weight: 800; color: var(--white); margin: 0 0 12px; padding: 0; border: none; letter-spacing: -0.02em;}.ng-cta h2::before { display: none; }.ng-cta p { font-family: 'Inter', sans-serif; color: rgba(255,255,255,0.55); font-size: 16px; max-width: 460px; margin: 0 auto 30px; }.ng-cta-wrap { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }.ng-btn-primary { display: inline-block; background: linear-gradient(135deg, var(--saffron), #E58C06); color: var(--ink); font-weight: 700; font-size: 16px; padding: 16px 42px; border-radius: 50px; text-decoration: none; box-shadow: 0 6px 24px rgba(245,158,11,0.4); transition: transform 0.2s, box-shadow 0.2s;}.ng-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(245,158,11,0.5); text-decoration: none; color: var(--ink); }.ng-btn-secondary { display: inline-block; background: rgba(255,255,255,0.08); border: 1.5px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.85); font-weight: 600; font-size: 15px; padding: 15px 32px; border-radius: 50px; text-decoration: none; transition: background 0.2s, border-color 0.2s;}.ng-btn-secondary:hover { background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.35); text-decoration: none; color: #fff; }/* ── RESPONSIVE ── */@media (max-width: 640px) { .ng-hero { padding: 40px 16px 0; } .ng-layout { padding: 36px 16px 60px; } .ng-toc ol { grid-template-columns: 1fr; } .hero-pills { gap: 8px; } .hp { font-size: 12px; padding: 6px 13px; } .al-table { font-size: 12px; } .al-table td, .al-table thead th { padding: 10px 10px; } .ng-cta { padding: 36px 22px; } .route-map-wrap { padding: 18px 12px 16px; }}@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; }} Complete Guide · Nigeria Domestic Travel Cheap Local Flightsin Nigeria
Every airline. Every route. Every trick to pay less — your definitive 2025 guide to domestic air travel across Nigeria. ₦25k lowest one-way fare 5+ major airlines 12+ served airports ~1hr average flight time 30+ active domestic routes Nigeria Domestic Route Network — Hover to Explore LOS Lagos ABV Abuja PHC Port Harcourt KAN Kano QUO Uyo CBQ Calabar ILR Ilorin IBA Ibadan MIU Maiduguri QOW Owerri Major route Budget route Major hub Regional airport ✈ Tbils Travel Team June 15, 2025 · Updated June 22, 2025 12 min read 📋 In This Guide
- Overview of Nigerian Domestic Flights
- All Nigerian Airlines Compared
- Cheapest Routes & Prices
- When to Book for Lowest Fares
- 10 Money-Saving Tips
- Nigeria's Main Domestic Airports
- How to Book Nigerian Flights
- Frequently Asked Questions
Cheap local flights in Nigeria start from ₦25,000 one-way on routes like Abuja–Lagos and Port Harcourt–Uyo. The main carriers are Air Peace, Ibom Air, United Nigeria Airlines, Arik Air, and Overland Airways. To get the cheapest fares: book 3–6 weeks ahead, fly on Tuesday or Wednesday, avoid December and public holidays, and compare all airlines at once on tbils.com. Chapter 1
Overview of Nigerian Domestic Flights
Nigeria has one of Africa's most active domestic aviation markets. Connecting 36 states, the Federal Capital Territory, and commercial centres across the North, South-West, South-East, and South-South, domestic flights are often the only practical way to travel quickly across this vast country. Road journeys that take 8–12 hours can be reduced to under 90 minutes in the air.
The Federal Airports Authority of Nigeria (FAAN) manages 26 airports nationwide, of which around 12 see regular scheduled commercial service. Lagos (LOS) and Abuja (ABV) are the two dominant hubs, handling the bulk of domestic traffic — but routes connecting Port Harcourt, Kano, Uyo, Calabar, Enugu, and Owerri are growing steadily.
Fares have improved significantly with competition. In 2020 there were barely three active domestic carriers; by 2025 there are five with meaningful networks, plus regional operators. That competition is your biggest ally when hunting for cheap tickets. ℹ️
Key fact: The Abuja–Lagos route is Nigeria's busiest domestic corridor, carrying over 3 million passengers annually. Its high frequency (multiple flights per hour at peak times) gives it the most competitive fares in the country. Chapter 2
All Nigerian Domestic Airlines Compared
Here is a comprehensive comparison of every scheduled domestic carrier currently operating in Nigeria, based on network size, typical fare levels, fleet, and passenger experience: Airline Base Fares From Network Fleet Best For Rating Air Peace ₦25,000 Widest (20+ routes) Boeing 737, E-Jets Flash sales & frequency ★★★★ Ibom Air ₦28,000 Regional (8+ routes) Airbus A220 Comfort & reliability ★★★★★ United Nigeria ₦30,000 Growing (10+ routes) CRJ-900, ATR South-South routes ★★★★ Arik Air ₦33,000 Wide (15+ routes) Boeing 737, CRJ Loyalty & business travel ★★★ Overland Airways ₦28,000 Niche (6+ routes) ATR 42/72 Secondary city routes ★★★ Dana Air ₦32,000 Limited (4 routes) MD-83 Lagos–Abuja budget ★★★ ⚠️
Always verify current schedules: Nigerian airline operations change frequently. Before booking, confirm the carrier is actively operating your specific route on tbils.com or directly on the airline's website. Chapter 3
Cheapest Domestic Routes & Current Prices
These are Nigeria's most active domestic routes, with typical one-way fare ranges for advance bookings. Prices vary by airline, day of week, and how far in advance you book. ABV → LOS Most Popular ₦25,000+ one-way from ~1hr flight time Air Peace, Ibom Air, Arik Multiple daily flights LOS → PHC Busy Route ₦28,000+ one-way from ~1hr flight time Air Peace, United Nigeria Daily service LOS → QUO Great Value ₦30,000+ one-way from ~1hr 10m flight time Ibom Air, Air Peace Daily service ABV → KAN Budget Pick ₦27,000+ one-way from ~1hr flight time Air Peace, United Nigeria Daily service LOS → KAN North Route ₦38,000+ one-way from ~1hr 30m flight time Air Peace, Arik Air Daily service PHC → QUO Short Hop ₦25,000+ one-way from ~45min flight time Ibom Air, United Nigeria Select days LOS → CBQ South-South ₦35,000+ one-way from ~1hr 15m flight time Air Peace, Arik Air Select days ABV → PHC Oil Corridor ₦30,000+ one-way from ~1hr 10m flight time Air Peace, United Nigeria Daily service Chapter 4
When to Book for the Lowest Fares
Timing is the single biggest lever you have over the price of a Nigerian domestic flight. Here is the full seasonal picture: Period Typical One-Way Fare Demand Strategy January – February ₦25,000 – ₦40,000 Very Low 🟢 Best time — lowest fares of the year March – April ₦27,000 – ₦44,000 Low 🟢 Still excellent — book ahead May – June ₦30,000 – ₦48,000 Medium 🟡 Decent fares, good availability July – August ₦38,000 – ₦65,000 High 🟠 School holiday surge — book 6 weeks out Eid al-Fitr / Eid al-Adha ₦55,000 – ₦90,000 Very High 🔴 Book 6–8 weeks ahead or adjust dates September – October ₦28,000 – ₦46,000 Low 🟢 Hidden sweet spot — excellent value November ₦35,000 – ₦55,000 Medium-High 🟡 Prices rising — act before December December (Christmas/NYE) ₦65,000 – ₦130,000 Peak 🔴 Book in October or expect peak prices
Best Days of the Week to Fly
Within any given week, Tuesday and Wednesday consistently return the lowest fares on Nigerian domestic routes. Monday and Friday are business travel days and command a premium. Saturday morning can be cheap for leisure routes, but Sunday evenings (the return day) spike sharply — especially on the Lagos–Abuja corridor.
Best Time of Day
Early morning departures (6am–8am) tend to be the cheapest and the most punctual. Nigerian airports see cascading delays through the day, so the first flight out is both better value and more likely to leave on time. Very late night flights (where available) also carry lower fares due to reduced demand. Chapter 5
10 Proven Ways to Get Cheap Local Flights in Nigeria
Power user tip: Nigerian airline pricing uses dynamic fare buckets. The moment you search a route, the system notes interest. Searching on private/incognito browsing and clearing cookies before booking has been reported by frequent Nigerian travellers to sometimes return slightly lower fares. Chapter 6
Nigeria's Main Domestic Airports
Knowing which airports serve which cities — and what to expect at each terminal — helps you plan smoother, cheaper trips. Here are the twelve most active domestic airports in Nigeria: LOS Murtala Muhammed Airport Lagos, Lagos State Domestic: MMA2 (Bi-Courtney Terminal) ABV Nnamdi Azikiwe Int'l Airport Abuja, FCT Federal Capital Territory PHC Port Harcourt Int'l Airport Port Harcourt, Rivers State South-South hub KAN Mallam Aminu Kano Int'l Kano, Kano State Northern Nigeria hub QUO Victor Attah Int'l Airport Uyo, Akwa Ibom State Home base of Ibom Air CBQ Margaret Ekpo Int'l Airport Calabar, Cross River State South-South gateway ENU Akanu Ibiam Int'l Airport Enugu, Enugu State South-East Nigeria QOW Sam Mbakwe Int'l Airport Owerri, Imo State Growing South-East hub ILR Ilorin Int'l Airport Ilorin, Kwara State North-Central Nigeria MIU Maiduguri Int'l Airport Maiduguri, Borno State Far North-East IBA Ibadan Airport Ibadan, Oyo State South-West Nigeria SKO Sadiq Abubakar III Int'l Sokoto, Sokoto State Far North-West Chapter 7
How to Book Cheap Nigerian Domestic Flights
There are three main ways to book domestic flights in Nigeria, each with its own trade-offs:
1. Airline Websites and Apps (Best for Exclusive Fares)
Booking directly through Air Peace (flyairpeace.com), Ibom Air (ibomair.com), or United Nigeria's website gives you access to web-only promotional fares, points/loyalty earning, and the easiest path to manage or change your booking. Most Nigerian airlines have functional apps on iOS and Android.
2. Fare Comparison Tools (Best for Price Shopping)
tbils.com searches all major Nigerian carriers simultaneously so you see who has the lowest price for your specific dates. This is the fastest way to ensure you're not overpaying on any given route. Always check before booking direct.
3. Travel Agents and Offline Booking
Physical and online travel agents in Nigeria can sometimes access corporate fare classes or group discounts that aren't publicly listed. For frequent business travellers or group bookings (8+ passengers), it's worth calling an agent to compare. 📱
Check-in tip: All major Nigerian carriers support online check-in, opening 24–48 hours before departure. Checking in online lets you skip queues at the airport and is especially valuable at Lagos MMA2, where check-in lines can be lengthy during peak morning hours. Chapter 8
Frequently Asked Questions
The cheapest domestic flights in Nigeria are typically on the Abuja–Lagos (ABV–LOS) and Port Harcourt–Uyo (PHC–QUO) routes, with fares starting from ₦25,000 one-way when booked 3–6 weeks ahead on Air Peace or Ibom Air. Which Nigerian airline is cheapest? ▾
Air Peace and Ibom Air consistently offer the lowest domestic fares in Nigeria. Air Peace has the widest network and frequent flash sales; Ibom Air has competitive base fares on its modern A220 fleet. The cheapest airline depends on your specific route — always compare on tbils.com. How do I get cheap flights in Nigeria? ▾
To get cheap flights in Nigeria: book 3–6 weeks ahead, fly on Tuesday or Wednesday, avoid December and public holidays, check airline websites directly for exclusive fares, travel with hand luggage only, and use fare comparison tools like tbils.com to track and compare prices. How many domestic airports are in Nigeria? ▾
Nigeria has 26 airports managed by FAAN, of which around 12–14 are regularly served by scheduled commercial domestic flights. The busiest are Lagos (LOS), Abuja (ABV), Port Harcourt (PHC), Kano (KAN), Uyo (QUO), and Enugu (ENU). What is the best time to book cheap domestic flights in Nigeria? ▾
The best times to book cheap domestic flights in Nigeria are January to April and September to October. Avoid December, Eid periods, and public holidays when fares spike significantly. Always book at least 3 weeks in advance for the best prices. Can I book Nigerian domestic flights online? ▾
Yes — all major Nigerian airlines including Air Peace, Ibom Air, United Nigeria, and Arik Air offer full online booking through their websites and mobile apps. You can also compare and book all carriers simultaneously on tbils.com.
Find Your Cheapest Nigerian Flight
Compare live prices across Air Peace, Ibom Air, United Nigeria, Arik Air, and more — all in one search. Search All Flights on tbils.com → See Today's Deals (function () { 'use strict'; /* ══ ROUTE MAP TOOLTIPS ══ */ var svg = document.getElementById('ngRouteMap'); var tooltip = document.getElementById('mapTooltip'); if (svg && tooltip) { var mapWrap = svg.closest('.route-map-wrap'); /* City dot hover */ svg.querySelectorAll('.city-dot').forEach(function (dot) { dot.addEventListener('mouseenter', function (e) { var city = this.dataset.city; var iata = this.dataset.iata; var info = this.dataset.info; tooltip.innerHTML = '' + iata + ' — ' + city + '' + info + ''; tooltip.style.opacity = '1'; }); dot.addEventListener('mousemove', function (e) { positionTooltip(e); }); dot.addEventListener('mouseleave', function () { tooltip.style.opacity = '0'; }); }); /* Route line hover */ svg.querySelectorAll('.r-line').forEach(function (line) { line.addEventListener('mouseenter', function (e) { var route = this.dataset.route; var fare = this.dataset.fare; if (route) { tooltip.innerHTML = '✈ ' + route.replace('-', ' → ') + '' + fare + ''; tooltip.style.opacity = '1'; } }); line.addEventListener('mousemove', function (e) { positionTooltip(e); }); line.addEventListener('mouseleave', function () { tooltip.style.opacity = '0'; }); }); function positionTooltip(e) { var rect = mapWrap.getBoundingClientRect(); var x = e.clientX - rect.left + 12; var y = e.clientY - rect.top - 10; // Keep within bounds if (x + 180 > rect.width) x = x - 200; tooltip.style.left = x + 'px'; tooltip.style.top = y + 'px'; } } /* ══ FAQ ACCORDION ══ */ document.querySelectorAll('.ng-fq').forEach(function (btn) { btn.addEventListener('click', toggleFaq); btn.addEventListener('keydown', function (e) { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggleFaq.call(this); } }); }); function toggleFaq() { var item = this.closest('.ng-fi'); var isOpen = item.classList.contains('open'); document.querySelectorAll('.ng-fi.open').forEach(function (el) { el.classList.remove('open'); el.querySelector('.ng-fq').setAttribute('aria-expanded', 'false'); }); if (!isOpen) { item.classList.add('open'); this.setAttribute('aria-expanded', 'true'); } } /* ══ SCROLL FADE-IN ══ */ if ('IntersectionObserver' in window) { var targets = document.querySelectorAll( '.route-card, .cl-item, .ng-fi, .ap-card, .airline-table-wrap, .season-wrap' ); targets.forEach(function (el) { el.style.opacity = '0'; el.style.transform = 'translateY(14px)'; el.style.transition = 'opacity 0.42s ease, transform 0.42s ease'; }); var obs = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; obs.unobserve(entry.target); } }); }, { threshold: 0.08 }); targets.forEach(function (el) { obs.observe(el); }); } /* ══ TOC SMOOTH SCROLL ══ */ document.querySelectorAll('.ng-toc a[href^="#"]').forEach(function (a) { a.addEventListener('click', function (e) { var target = document.querySelector(this.getAttribute('href')); if (target) { e.preventDefault(); target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); });})();
READY WHEN YOU ARE
Book your next flight with confidence
Compare available fares and get help from a travel expert when you need it.
Search flights

