SFO vs OAK vs SJC: which airport from Davis?
Cheap flight, expensive trip. How SFO, OAK, SJC and SMF really compare from Davis: the rail link, the 5am problem, and getting home at midnight.

Four airports come back when you search a flight out of Northern California: SMF, OAK, SFO and SJC. On the results page they look interchangeable. From Davis they are four different days, and the ground leg — not the flight — decides whether you make it. This post is the decision, not the directions; the routes have their own guides, for SFO and for Sacramento.
Start with SMF, because it is the honest baseline
Sacramento International is the closest airport to Davis, and it has the only car-free link that works without a transfer: Yolobus routes 42A and 42B, every 30–60 minutes, seven days a week, stopping at both terminals on the arrivals level. (Yolobus) The airport's own public transportation page lists Yolobus alongside SacRT's Route 142 into downtown Sacramento. (SMF)
One bus, no transfer, no second ticket. A flight out of SMF that looks worse on the booking page is frequently still the cheaper day. Make the Bay airports beat that.
The four, in one table
| Airport | The car-free link toward Davis | Where it gets thin |
|---|---|---|
| SMF | Yolobus 42 — one bus, no transfer | Doesn't run around the clock |
| OAK | BART across the street, then the Capitol Corridor at Oakland Coliseum | Only some trains stop there |
| SFO | BART from inside the terminal, then the Capitol Corridor at Richmond | Two systems, long ride, luggage |
| SJC | VTA Route 60, free from either terminal | Same limited trains, longest run |
OAK is the quiet winner of that table. Its BART station is a short walk from both terminals, the ride to Coliseum takes about nine minutes, and Oakland Coliseum–BART is itself a Capitol Corridor station — so the handoff to a Davis train happens in one place. (BART · Capitol Corridor) At SJC, VTA Route 60 is free in either direction, linking both terminals to Milpitas BART and Winchester. (SJC · VTA) SFO's is the most travelled and the longest: BART, then the Richmond transfer BART and Capitol Corridor publish a joint timetable for. (BART)
Booking note: OAK now calls itself Oakland San Francisco Bay Airport. Same airport, same code.
The 5am problem
The first westbound Capitol Corridor train of the day leaves Davis before dawn, and it is still not early enough. On the timetable in force today it takes the better part of two hours to reach Oakland Coliseum and about three to reach San Jose. (Capitol Corridor) BART's own airport connector at OAK does not open until 5am on weekdays, 6am Saturdays and 8am Sundays. (BART)
So for a 6am or 7am departure out of any Bay airport, no train gets you there. None. That is not a knock on the train — the train is excellent at 10am. It is a knock on the hours. Either you have a car in the plan by the night before, or you move the flight.
Getting home at midnight
Now run it backwards, the half people forget. The last eastbound train of the day leaves the Bay in the evening, not at night, and it is a single train — miss it and there is no later one. (Capitol Corridor) The weekend columns are thinner still. Open the timetable for the day you are actually flying and write that departure down; a time printed in September is worthless in December.
Land at 11pm at any Bay airport and the rail plan is over for the night. That is the biggest argument for SMF: a late arrival there is a short problem, not a Bay-sized one.
So which one
It depends more on your hours than your ticket.
- Civilised hours, both directions? SMF first, then OAK.
- Only the Bay flies your route? OAK — the station is across the street, the train handoff one stop away.
- SJC? Fine if the flight is genuinely better, but it is the longest run of the four and adds a bus leg. Plan the ground leg first.
- SFO? The most flights, the longest ground leg. Read the SFO guide first.
- Before about 8am, or landing after 10pm? The airport barely matters. You need a car.
The car half of the answer
For the hours no timetable covers, the cheapest car is one already going.
That is what TAGO is — a carpool for students. You sign in with your .edu email, post
the flight you are on, and see who else is going the same way. Diego driving to OAK on Friday
morning has empty seats whether you are in one or not.
Post the flight, not a vague time. "Lands 11:40pm, OAK Terminal 1" is something a person can agree to; "sometime Sunday" isn't.
The trip back sits in the same ask. For places like these three airports, one ask carries two dates, so December stops being a separate scramble.
Your share is capped. What a rider contributes can never exceed the IRS standard business mileage rate for the day of the trip — a ceiling enforced in the code behind every trip, not a promise in an ad. Past the first eight miles the per-mile rate eases down, so a run to the Bay costs less per mile than a hop across town. The method is in how the cost of a ride gets split.
Nothing here promises a car will be there. It depends on who happens to be going, which is why the move for a 5am departure is to post it a week out and keep a backup. The SFO, OAK and SJC pages show how many people are heading each way; routes and names stay private until you sign in with your .edu.
Before you book
- Check SMF first, Yolobus 42 leg included, and make the Bay beat it.
- Look up the timetable for your actual travel day, in the column that matches it.
- Flying before about 8am? Decide the car now, not the night before.
- Sort the trip home the same hour you book the trip out.
- Screenshot the timetable. Terminal wifi will not save you.