Option 1: CPTM Line 13 Train (The Budget Champion)

This is how I move when I'm arriving with a manageable bag and don't have a meeting in 45 minutes. The CPTM Line 13 Jade serves Aeroporto-Guarulhos station, which sits beside Terminal 1 and is linked to all terminals by a free shuttle bus (plus a new free aeromóvel people mover that has been running limited hours since February 2026). Regular trains connect to CPTM Line 12 (Safira) at Engenheiro Goulart, and the hourly Expresso Aeroporto runs direct to Brás, Luz, and Palmeiras–Barra Funda — no transfer, no extra fare. A connection at Brás station gets you onto the metro network, opening up virtually all of central São Paulo.

Step-by-Step from Baggage Claim

  1. Clear customs and follow the signs for the free shuttle bus to Aeroporto-Guarulhos station — it leaves from the arrivals curb at each terminal and takes about 10 minutes. There is no rail station inside Terminals 2 or 3; the shuttle (or the new aeromóvel, when it's running) is the link.
  2. Buy a QR-code ticket at the station machines or in the TOP app, or tap a contactless Visa/Mastercard at the gates that accept bank cards. A single journey is R$5.40 (2026 fare); paper tickets and new Bilhete Único sales are gone from the rail network.
  3. Take a regular Line 13 train to Engenheiro Goulart and transfer to Line 12 toward Brás (approximately 35 min total rail time to Brás) — or wait for the hourly Expresso Aeroporto, which runs direct to Brás, Luz, and Palmeiras–Barra Funda.
  4. At Brás, transfer to Metro Line 3 (Red); for Paulista Avenue, change again at República to Line 4 (Yellow), which stops at Paulista station.
  5. Total fare, train plus metro: R$5.40 — the rail-to-metro transfer is free inside the paid area at integration stations like Brás and Luz.

Regular Line 13 trains run every 10–20 minutes on weekdays (a little less often early mornings and Sundays), and the Expresso Aeroporto departs roughly hourly from about 05:00 to midnight. Operating hours are approximately 04:00–00:00 daily.

Ops Tip — Skip the Ticket Queue

Buy a QR-code ticket in the official TOP app while you're still on airport WiFi and scan it straight at the gate — no machine queue at all. If you'd rather tap a foreign contactless Visa/Mastercard, look for the turnstile marked for bank-card payment: every Metro station has at least one, and CPTM is finishing the rollout across its lines during 2026.

Also: a bank-card tap doesn't earn the discounted bus integrations a TOP card gets, but for a single airport-to-city run it makes no difference — the fare is the same R$5.40 either way.

✓ Pros

  • Cheapest option by a wide margin
  • Air-conditioned and reliable
  • Bypasses all road traffic
  • Integrates with full metro network

✗ Cons

  • Shuttle-bus leg between terminals and station adds 10–15 min
  • Challenging with multiple large suitcases
  • Transfers required to reach most hotels
  • Platforms crowded during rush hour

Option 2: Airport Bus Service — EMTU (The Practical Middle Ground)

The EMTU-regulated Airport Bus Service is the no-app, no-surge middle ground. For R$41.50–R$48.50 depending on the route, you board an air-conditioned executive coach with luggage storage underneath and get dropped off at major hubs including Tietê Bus Terminal, Barra Funda, Praça da República, Paulista Avenue, and Congonhas Airport (CGH). These are real, climate-controlled coaches — not the packed local buses that generic travel blogs sometimes lump into this category.

How to Board

  1. Exit customs and look for the Airport Bus Service stops outside the arrivals level — clearly signposted at Terminals 2 and 3.
  2. Buy online at airportbusservice.com.br or pay at the stop/on board — cash and cards are accepted, but Bilhete Único and TOP cards are not valid on these coaches.
  3. The Tietê route (Line 472EX1, R$41.50) is the workhorse — from Tietê you connect to metro Line 1 (Blue) or catch onward connections citywide. Paulista and República routes run R$48.50.
  4. Frequency: roughly hourly per route. First and last departures run about 06:10–21:30 depending on the destination — this is not a late-night option.

Time estimate to Paulista: honestly 70–100 minutes in normal conditions, potentially longer if the bus catches highway congestion near Tatuapé. Don't let the timetable fool you with optimistic estimates. True budget alternative: the local EMTU 257 bus runs from the terminals to Tatuapé metro station for about R$8 (05:10–23:10, ~55 min) — cheap and functional, but it's a city bus with no luggage bays.

✓ Pros

  • No app or data required
  • Comfortable luggage space
  • Fixed stops in key city locations
  • Cheaper than a solo taxi/Uber

✗ Cons

  • Fixed stops — not door-to-door
  • Can be slow in highway traffic
  • Less frequent than the train
  • Coaches stop by ~21:30; local 257 ends ~23:10

Option 3: Uber and 99 App (Door-to-Door Convenience)

Let's be clear: 99 is the dominant rideshare in São Paulo, not Uber. Locals use 99 heavily, prices are often 10–20% lower than Uber, and driver availability is strong at GRU. You should have both apps installed before you land — this is not optional advice if you're arriving at an awkward hour.

The Rideshare Pickup Process at GRU

  1. Request your ride inside the terminal before you reach the exit. São Paulo's mobile data is decent but can spike in congestion; booking early avoids the street-level app lag.
  2. Head to the designated app pickup points on the arrivals level — they're signposted at each terminal. Do not attempt to load into a car on the departures level; airport security will move you.
  3. Confirm the license plate on the app before entering any vehicle. GRU has persistent issues with unofficial drivers approaching passengers near the exits — anyone approaching you first is almost certainly not your booked driver.
  4. Typical cost to Paulista: R$85–R$110 on UberX / 99Pop during off-peak. Budget R$130–R$160+ during peak hours (07:00–09:30, 17:00–20:00) or surge events.
Ops Tip — The 99 vs. Uber Price Check

Always open both apps simultaneously and compare. On a recent run from Terminal 3 to Consolação, 99Pop was R$91 while UberX showed R$118 for the same route at the same moment. The 30-second check is worth it every single time. Also, 99's "99Comfort" tier often undercuts Uber's base tier during off-peak hours — bizarre but true.

If you have a Brazilian phone number, 99 accepts PIX payments, which eliminates the foreign card surcharge. If not, international cards work fine on both platforms.

✓ Pros

  • Direct to your hotel — no transfers
  • Available 24 hours
  • Price known before you commit
  • Fastest option in light traffic

✗ Cons

  • Traffic can make it slower than the train
  • Surge pricing unpredictable
  • Requires working smartphone + data
  • Scam drivers near exits (see tip above)

Option 4: Licensed Airport Taxi (Reliable, Pricier, Zero Hassle)

GRU's official taxi operation is run by Guarucoop, the local cooperative that holds the exclusive airport concession — a fleet of around 650 air-conditioned cars with bilingual dispatch staff. Its counters sit in every arrivals hall, with the stands immediately outside the exits — you cannot miss them, and you don't need to book ahead or have any app. For many first-time São Paulo visitors, especially those who aren't comfortable with Portuguese or don't have local data, this is the right call despite the higher cost.

Expect to pay R$110–R$180 to central São Paulo depending on your exact destination. Guarucoop charges standardized fixed rates by destination — the price is confirmed at the counter before you board and doesn't change with traffic, which in São Paulo is a genuine feature, not a footnote. Ask to see the official rate table if a driver quotes anything verbally; never agree to a "special price" offered away from the official counters.

Ops Tip — The Combi Van Scam to Avoid

Between Terminals 2 and 3, you'll find people aggressively offering "taxi" or "transfer" in the arrivals hall before you even reach the official stand. These are unlicensed drivers quoting inflated flat rates — R$250–R$400 is not uncommon. One passenger I spoke with was quoted R$350 "because of the late hour" at 22:00, when an official taxi to the same address was R$138. Always walk to the official curb stand. It's 60 extra seconds of walking and it's worth every step.

✓ Pros

  • No app or data required
  • Licensed and regulated
  • Available 24/7
  • Handles cash and cards

✗ Cons

  • Most expensive non-private option
  • Still subject to traffic delays
  • Quality of vehicles varies

Option 5: Pre-Booked Private Transfer (Premium, Stress-Free)

If you're traveling with family, have an early morning meeting to protect, or simply value knowing exactly who's waiting for you and where, a pre-booked private transfer removes every variable. Reputable operators include Blacklane, Mozio, and several well-reviewed local São Paulo companies bookable through GetTransfer.com. Pricing runs R$180–R$350 for a sedan to central São Paulo, with larger vans going higher.

Book at least 24 hours in advance, provide your flight number for tracking, and confirm the pickup point in writing — GRU is spread across multiple terminals and a driver waiting at T2 when you arrive at T3 costs everyone time. The reputable services track your flight automatically and adjust for delays, which is the detail that earns the premium.

🌙 Arriving After Midnight? Here's What Actually Works

  • CPTM Line 13 last train: approximately 00:00 from airport. Miss it and trains are gone until 04:00.
  • Airport buses: the executive coaches finish by ~21:30 and the local EMTU 257 ends around 23:10. Not an option for late arrivals.
  • Uber / 99: available 24/7 but expect 1.5–2x surge between 00:00 and 05:00. R$130–R$180 for central São Paulo is realistic. Both apps typically show 3–8 minute pickup times even at 02:00.
  • Licensed airport taxi (Guarucoop): always at the curb, 24 hours. No app needed, and the fixed rates don't surge — R$110–R$180 to central São Paulo at any hour. This is the safest fallback if your phone dies, your data isn't working, or you just want to move.
  • Pro move: buy an eSIM with Brazilian data before departure — not having to hunt for WiFi at 01:30 in a foreign airport is worth every cent of the R$25–R$40 cost.