When to plant Tomatoes in Michigan

In spring, from May 5 – June 10 in Ferndale to May 25 – June 15 in Cadillac.

In fall, June 1 – 20.

USDA's earliest safe spring and latest safe fall planting dates, matched to each place's average frost dates.

Tomatoes planting dates by place in Michigan
PlaceSpringFall
AdrianMay 10 – June 15June 1 – 20
Allen ParkMay 10 – June 15June 1 – 20
AlpenaMay 10 – June 15June 1 – July 1
Ann ArborMay 10 – June 15June 1 – 20
Auburn HillsMay 10 – June 15June 1 – July 1
Battle CreekMay 10 – June 15June 1 – July 1
Bay CityMay 10 – June 15June 1 – July 1
BerkleyMay 10 – June 15June 1 – July 1
Beverly HillsMay 10 – June 15June 1 – July 1
BirminghamMay 10 – June 15June 1 – July 1
BurtonMay 15 – June 10June 1 – 20
CadillacMay 25 – June 15June 1 – 20
ClawsonMay 10 – June 15June 1 – July 1
ColdwaterMay 10 – June 15June 1 – 20
DearbornMay 10 – June 15June 1 – 20
Dearborn HeightsMay 10 – June 15June 1 – 20
DetroitMay 10 – June 15June 1 – July 1
East Grand RapidsMay 15 – June 10June 1 – 20
East LansingMay 10 – June 15June 1 – July 1
EastpointeMay 10 – June 15June 1 – July 1
EscanabaMay 15 – June 10June 1 – 20
FarmingtonMay 10 – June 15June 1 – July 1
Farmington HillsMay 10 – June 15June 1 – July 1
FentonMay 10 – June 15June 1 – 20
FerndaleMay 5 – June 10June 1 – July 1
Flat RockMay 10 – June 15June 1 – July 1
FlintMay 10 – June 15June 1 – 20
FraserMay 10 – June 15June 1 – July 1
Garden CityMay 10 – June 15June 1 – 20
Grand HavenMay 10 – June 15June 1 – July 1
Grand RapidsMay 15 – June 10June 1 – 20
GrandvilleMay 15 – June 10June 1 – 20
Grosse Pointe ParkMay 10 – June 15June 1 – July 1
Grosse Pointe WoodsMay 10 – June 15June 1 – July 1
HamtramckMay 5 – June 10June 1 – July 1
Harper WoodsMay 10 – June 15June 1 – July 1
Hazel ParkMay 5 – June 10June 1 – July 1
HollandMay 10 – June 15June 1 – July 1
InksterMay 5 – June 10June 1 – July 1
IoniaMay 10 – June 15June 1 – 20
JacksonMay 10 – June 15June 1 – 20
KalamazooMay 10 – June 15June 1 – July 1
KentwoodMay 10 – June 15June 1 – 20
LansingMay 10 – June 15June 1 – 20
Lincoln ParkMay 10 – June 15June 1 – 20
LivoniaMay 10 – June 15June 1 – July 1
Madison HeightsMay 5 – June 10June 1 – July 1
MarquetteMay 15 – June 10June 1 – July 1
MelvindaleMay 10 – June 15June 1 – 20
MidlandMay 10 – June 15June 1 – July 1
MonroeMay 5 – June 10June 1 – July 1
Mount ClemensMay 10 – June 15June 1 – July 1
Mount PleasantMay 10 – June 15June 1 – July 1
MuskegonMay 10 – June 15June 1 – July 1
New BaltimoreMay 10 – June 15June 1 – July 1
NilesMay 10 – June 15June 1 – July 1
Norton ShoresMay 10 – June 15June 1 – July 1
NoviMay 10 – June 15June 1 – July 1
Oak ParkMay 10 – June 15June 1 – July 1
OwossoMay 10 – June 15June 1 – 20
PontiacMay 10 – June 15June 1 – July 1
Port HuronMay 5 – June 10June 1 – July 1
PortageMay 10 – June 15June 1 – July 1
RiverviewMay 5 – June 10June 1 – July 1
RochesterMay 10 – June 15June 1 – July 1
Rochester HillsMay 10 – June 15June 1 – July 1
RomulusMay 5 – June 10June 1 – July 1
RosevilleMay 10 – June 15June 1 – July 1
Royal OakMay 5 – June 10June 1 – July 1
SaginawMay 10 – June 15June 1 – July 1
Sault Ste. MarieMay 15 – June 10June 1 – 20
South LyonMay 10 – June 15June 1 – 20
SouthfieldMay 10 – June 15June 1 – July 1
SouthgateMay 5 – June 10June 1 – July 1
St. Clair ShoresMay 10 – June 15June 1 – July 1
Sterling HeightsMay 10 – June 15June 1 – July 1
SturgisMay 10 – June 15June 1 – July 1
TaylorMay 5 – June 10June 1 – July 1
Traverse CityMay 15 – June 10June 1 – July 1
TrentonMay 5 – June 10June 1 – July 1
TroyMay 10 – June 15June 1 – July 1
WalkerMay 15 – June 10June 1 – 20
WarrenMay 5 – June 10June 1 – July 1
WayneMay 5 – June 10June 1 – July 1
WestlandMay 5 – June 10June 1 – July 1
WixomMay 15 – June 10June 1 – 20
WoodhavenMay 5 – June 10June 1 – July 1
WyandotteMay 10 – June 15June 1 – 20
WyomingMay 15 – June 10June 1 – 20
YpsilantiMay 10 – June 15June 1 – 20

Planting dates: USDA Home and Garden Bulletin No. 9 (1967), tables 4 and 5. Frost dates: NOAA U.S. Climate Normals 1991–2020. “—” means the place's frost date is outside the table. The full USDA table for tomatoes.