When to plant vegetables in your zone
Zone 5 and zone 8 are six weeks apart in April. Any planting advice that names a month instead of a frost date is wrong for most of the people reading it.
Every seed packet says something like "sow after danger of frost has passed." That instruction is useless without one number: your last spring frost date. Everything else in a planting schedule is an offset from it.
This guide covers how to find that number, how to turn it into dates for each crop, and where the method breaks down.
Hardiness zone is not the same as frost date
These get used interchangeably and they answer different questions. For the zone side in full, including the 2023 map update and what the a and b half zones mean, see USDA hardiness zones explained.
- USDA hardiness zone describes your average coldest winter temperature. It answers: will this perennial survive my winter? Relevant for fruit trees, asparagus, rhubarb and overwintering garlic.
- Frost dates describe when your growing season opens and closes. They answer: when can I put this annual outside? Relevant for essentially every vegetable.
Two gardens both in zone 7 can have last frost dates three weeks apart: coastal versus inland, valley bottom versus hillside. For vegetables, the frost date is the number that matters.
Finding your two dates
You need three figures, all available from your national weather service or an almanac by postal code:
- Average last spring frost: the anchor for spring planting.
- Average first autumn frost: the deadline for everything to mature.
- Growing season length: the days between them. This is what tells you whether a 110-day winter squash is even possible where you live.
Both dates are 50% probability figures. Half the time frost arrives later than your "last frost" date. Treat them as planning anchors, and give tender crops a week or two of margin.
A cold frame, cloche or row cover shifts your effective last frost date about two weeks earlier, which in a short season is a whole extra crop.
Cool season versus warm season
Every vegetable falls into one of two groups, and this single split drives the whole schedule.
| Group | Tolerates frost | Crops |
|---|---|---|
| Cool season | Yes, some improve with it | Peas, spinach, lettuce, kale, broccoli, cabbage, carrots, beetroot, radish, onion, chard, turnip |
| Warm season | No, frost kills them | Tomato, pepper, aubergine, cucumber, courgette, squash, melon, beans, corn, basil, sweet potato |
Cool-season crops go in before the last frost and again in late summer for autumn. Warm-season crops go in after it, once soil is warm. Kale and parsnip actually taste better after frost, because cold converts starches to sugars.
The offset table
Weeks relative to your last spring frost. Negative is before, positive is after.
| Crop | Start indoors | Direct sow / transplant out |
|---|---|---|
| Onion, leek | -10 to -12 | -4 to -6 |
| Pepper, aubergine | -8 to -10 | +2 |
| Tomato | -6 to -8 | +1 to +2 |
| Broccoli, cabbage, cauliflower | -6 | -2 to -4 |
| Lettuce, spinach, chard | -4 to -6 | -2 to -4 |
| Peas | n/a | -4 to -6 (direct) |
| Carrot, radish, beetroot, turnip | n/a | -2 to -4 (direct) |
| Potato | n/a | -2 to -4 |
| Cucumber, courgette, squash | -3 to -4 | +1 to +2 |
| Beans | n/a | +1 (direct) |
| Corn | n/a | +1 to +2 (direct) |
| Melon | -3 to -4 | +2 to +3 |
| Basil | -4 to -6 | +2 |
The indoor-start column is expanded in when to start seeds indoors.
Typical dates by zone
Approximate averages. Use your own postal-code figures where you can.
| Zone | Last spring frost | First autumn frost | Season |
|---|---|---|---|
| Zone 3 | 15 May to 1 Jun | 1 to 15 Sep | ~100 days |
| Zone 4 | 1 to 15 May | 15 to 30 Sep | ~130 days |
| Zone 5 | 15 to 30 Apr | 1 to 15 Oct | ~160 days |
| Zone 6 | 1 to 15 Apr | 15 to 30 Oct | ~190 days |
| Zone 7 | 15 to 30 Mar | 1 to 15 Nov | ~220 days |
| Zone 8 | 1 to 15 Mar | 15 to 30 Nov | ~250 days |
| Zone 9 | 1 to 15 Feb | 1 to 15 Dec | ~290 days |
| Zone 10 | Rare | Rare | Year round |
Note what this means for advice: "plant tomatoes in May" is right for zone 5 and roughly two months late for zone 9. Zones 9 and 10 invert the logic entirely: summer is the hostile season and cool-season crops are grown through winter.
Planning backwards for autumn
The autumn calculation runs the other way, from your first frost:
Sow date = first frost date, minus days to harvest, minus a 2 week buffer
The two-week buffer accounts for slower growth as daylight shortens, which is real and routinely underestimated. A 60-day crop sown in late August behaves more like a 75-day crop.
Best autumn crops: spinach, lettuce, rocket, radish, turnip, kale, pak choi, and garlic planted for next summer.
When soil temperature overrules the calendar
Frost dates predict air. Seeds respond to soil. If your last frost has passed but the soil is still cold, warm-season seeds will rot rather than germinate.
| Crop | Minimum soil temp |
|---|---|
| Peas, spinach, lettuce | 4°C / 40°F |
| Carrot, beetroot, chard | 7°C / 45°F |
| Beans, corn | 15°C / 60°F |
| Tomato, cucumber, squash | 15°C / 60°F |
| Melon, okra, sweet potato | 21°C / 70°F |
A cheap soil thermometer at 10cm depth, read mid-morning, settles more arguments than any calendar. This is why tomatoes planted two weeks "late" often overtake ones planted into cold soil.

Getting your own calendar
Everything above is arithmetic on two dates repeated across every crop you grow. Doing it by hand for twelve crops takes an evening and has to be redone every year.
Then pair the schedule with the space: see how to plan a vegetable garden layout for fitting those dates into an actual bed.