Tornadoes · United States · Minnesota · 2025
EF1 tornado, Warsaw to Moland, Minnesota, April 28, 2025
From Warsaw to Moland, this EF1 tornado ran 3.3 miles across Rice County on April 28, 2025, touching down at 5:52 PM CDT and reaching 175 yards wide. It killed nobody.
The rating scale
Tracks are drawn in the color of the rating. The Enhanced Fujita scale rates the damage rather than measuring the wind: the speeds are what that damage is taken to imply.
EF065 to 85 mph
Light damage. Surface peeled off some roofs, gutters and siding damaged, branches broken, shallow-rooted trees pushed over.
EF186 to 110 mphthis tornado
Moderate damage. Roofs badly stripped, mobile homes overturned or badly damaged, exterior doors lost, windows broken.
EF2111 to 135 mph
Considerable damage. Roofs torn off well-built houses, frame homes shifted on their foundations, mobile homes destroyed, large trees snapped or uprooted, cars lifted off the ground.
EF3136 to 165 mph
Severe damage. Whole stories of well-built houses destroyed, large buildings badly damaged, trains overturned, trees debarked, heavy cars lifted and thrown.
EF4166 to 200 mph
Devastating damage. Well-built houses leveled, structures with weak foundations moved some distance, cars thrown and large missiles generated.
EF5over 200 mph
Incredible damage. Strong frame houses swept off their foundations, car-sized missiles thrown more than 100 meters, steel-reinforced concrete badly damaged, high-rise buildings deformed.
Unrated
The survey recorded a tornado but could not put a number on it, most often because it crossed open country and damaged nothing a rating can be read from.
The record
- Rating
- EF1
- Date
- April 28, 2025
- Touchdown
- 5:52 PM CDT (22:52 UTC)
- Lifted
- 5:55 PM CDT (22:55 UTC)
- On the ground
- 3 minutes
- Path length
- 3.3 miles (5.2 km)
- Path width
- 175 yards (160 m)
- Deaths
- 0
- Injuries
- 0
- County
- Rice County
- Touchdown point
- 44.254, -93.119
- Lift-off point
- 44.261, -93.054
- Record number
- 2504281652-01
The damage survey
19 damage points were recorded along this path by NWS MPX, in the Damage Assessment Toolkit the survey teams carry. The strongest indicator was rated EF1. The highest wind the damage implies is 110 mph.
- Additional mature hardwoods snapped or uprooted. No foliage.
- Roof damage at large industrial warehouse. Isolated in nature - svr wind damage.
- A freezer trailer was moved "50 to 100 ft" into the back of the house. No damage to house.
- Two equipment sheds & an "shooting shack" completely removed from their slabs. No anchors.
Survey points are preliminary and are the raw material the published rating was built from. Source: NWS Damage Assessment Toolkit.
What the Weather Service recorded
Strong to severe thunderstorms had developed across a surface cold front that moved east across Minnesota during the afternoon hours of April 28th. Increased southerly moisture transport from a +50kt low-level jet had reached as far north as the Twin Cities metro which helped destabilize the environment. A few supercells were able to develop and produce hail mainly quarter size to ping-pong ball size although the largest hail stone was golf ball size six miles south of Owatonna. ||This line of storms also produced two tornadoes in Rice and Goodhue Counties which causing heavy damage to several semi-and tanker trucks, collapsing building walls and a few farm outbuildings. Maximum estimated tornadic wind speeds were 110 mph.
A group of trees sustained damage and an outbuilding lost its roof and wall panels. The maximum estimated wind was 75 mph.
Significant damage occurred at a farm: metal building system walls collapsed with several failed anchors, several semi and tanker trailers were heavily damaged, there was total loss of a barn and several smaller outbuildings, and several snapped trees. Additional isolated tree damage and outbuilding damage occurred toward end of its path. The maximum estimated wind was 110 mph.
From NOAA NCEI's Storm Events Database, the narrative the local forecast office wrote for Storm Data.
What forecasters said that day
The local office's own words before the tornado touched down, as it sent them, from the Iowa Environmental Mesonet's archive of National Weather Service text.
NWS Twin Cities, MN wrote its last area forecast discussion before the tornado touched down at Apr 28, 1:54 PM CDT, 3 hours 58 minutes earlier. Its key messages:
- Tornado Watch in SW MN likely to be expanded eastwards as threat progresses eastwards this afternoon and evening. All hazards possible with large hail, strong winds, and potential longer track tornadoes possible.
- Quiet weather after Monday with cooler temperatures through the weekend, warming above normal next week.
- Little to no chance for rainfall through next weekend.
Area forecast discussion, Apr 28, 1:54 PM CDT, 3 hours 58 minutes before
Area Forecast Discussion National Weather Service Twin Cities/Chanhassen MN 154 PM CDT Mon Apr 28 2025 .KEY MESSAGES... - Tornado Watch in SW MN likely to be expanded eastwards as threat progresses eastwards this afternoon and evening. All hazards possible with large hail, strong winds, and potential longer track tornadoes possible. - Quiet weather after Monday with cooler temperatures through the weekend, warming above normal next week. - Little to no chance for rainfall through next weekend. && .UPDATE... Issued at 115 PM CDT Mon Apr 28 2025 An area of horizontal convective roll clouds are present on satellite imagery across SW MN. Some agitated CU have blossomed further west along a pre-frontal trough. These have quickly developed into thunderstorms across far eastern South Dakota & southwest Minnesota. These storms have prompted a Tornado Watch across portions of SW/W/WC Minnesota. Additional watches may be required downstream (east). The storms across E SD/SW MN will continue to intensify over the next few hours with a few becoming severe capable of producing damaging winds/large hail/tornadoes. The atmospheric recovery with in the pre-frontal trough contains surface instability values of 1500 to 2500+ J/kg and favorable effective shear (40+ kts). Surface temperatures are in the low to mid 70s with sfc Tds in the mid to upper 60s. There is weak capping ahead of the pre-frontal trough that may erode by mid afternoon & support additional convective initiation. Hi-res guidance has remained inconsistent with what exactly evolves this afternoon. Current forecast thoughts suggest we'll see a line of embedded supercells form and track from W MN to S MN over the next several hours. These storms will be in the "best" environment capable of supporting all severe hazards, including potential for a strong tornadoes. These storms may cycle and continue to produce severe as they track ENE. Central Minnesota and western Wisconsin remain in play. Additional convection should develop closer to the sfc low pressure with a isolated to scattered strong to severe storms too. These storms should be capable of producing damaging wind, large hail, and a tornado or two as well but the better environment for tornadoes is across S MN/N IA. && .DISCUSSION... Issued at 153 PM CDT Mon Apr 28 2025 Please see Update section above for more details about ongoing severe weather, including potential for further severe weather this afternoon and evening... Tuesday through this weekend... Wrap around showers are expected on the western side of the tilting upper level trough early on Tuesday as the storms will have pushed east of the region and over the Great Lakes overnight. Winds behind the surface front out of the northwest will bring in some cooler air which looks to linger over the next few days as high pressure keeps the airmass stagnant until later in the week, at which point we quickly turn things around with warmer temperatures into the weekend and beyond. As the upper level trough migrates eastwards, our 500- 300mb flows will flatten out and become zonal with the left entrance of the upper level jet streak migrating towards east-central Wisconsin, aiding subsidence alongside surface high pressure. We could see some isolated drizzle or weak showers on Thursday as a broad upper level trough swings through central Canada, with subtle height falls along the far southern fringe providing just enough omega to squeeze out some droplets. Given subsidence the few days before, PWAT values will be low and we will have surface level dry air to overcome such that anything more than a few hundredths would be an achievement given the meager forcing. Dry conditions resume on Friday with a western CONUS ridge building through the weekend with weak southerly flow at the surface advecting some warmer air towards the area and upper level flow become northwesterly on the eastern side of the ridge. The southerly surface winds and ridge will lock in some warmer temperatures as we head into next week, with ensembles favoring temperatures reaching into the 80s early next week and not looking to stop through the first week of May. In terms of rainfall and active weather, bigger systems remain absent with longer range ensemble membership showing quite a bit of variance into next week with roughly 30 to 40 percent of members within the GEFS showing a chance for some stronger rainfall and perhaps some storms by the middle of next week. Given the time range, this is fairly close to climatology such that there should not be too much stock placed within this for now as we will need to get within the 7 day time range to truly build some confidence in our next major system. && .AVIATION /18Z TAFS THROUGH 18Z TUESDAY/... Issued at 115 PM CDT Mon Apr 28 2025 MVFR/IFR SHRA/TSRA this afternoon and evening from west to east across all sites. OVC ceilings will become BKN/SCT near RWF and is anticipated to trend eastward over the next few hours. However, TSRA has already developed west of AXN and RWF to which will impact all sites over the next several hours. Have tightened up a few tempo groupings slightly based off of current reflectivity. Most sites can expect TSRA to clear after 03z although wrap around -SHRA is possible through 12z tomorrow morning. Southerly winds will increase this afternoon with gusts between 25-35kts. Sites can expect a southwesterly veer in winds by 22-02z during frontal passage then becoming lighter out of the northwest tomorrow afternoon. KMSP...A line of convection has developed near the MN/SD border. Continuing to monitor forward progress but may need to push current tempo timing up sooner. /OUTLOOK FOR KMSP/ TUE...MVFR/-SHRA possible prior to 12z. Wind NW 10-20 kts. WED...VFR, chc MVFR/-SHRA late. Wind SSE 10-15 kts. THU...MVFR, chc -SHRA. Wind NW 10-20 kts. && .MPX WATCHES/WARNINGS/ADVISORIES... MN...None. WI...None. && UPDATE...BPH DISCUSSION...TDH AVIATION...Dunleavy
Hazardous weather outlook, Apr 28, 2:23 PM CDT, 3 hours 29 minutes before
Hazardous Weather Outlook National Weather Service Twin Cities/Chanhassen MN 223 PM CDT Mon Apr 28 2025 MNZ041>045-047>070-073>078-082>085-091>093-WIZ014>016-023>028- 291930- Douglas-Todd-Morrison-Mille Lacs-Kanabec-Stevens-Pope-Stearns- Benton-Sherburne-Isanti-Chisago-Lac Qui Parle-Swift-Chippewa- Kandiyohi-Meeker-Wright-Hennepin-Anoka-Ramsey-Washington- Yellow Medicine-Renville-McLeod-Sibley-Carver-Scott-Dakota- Redwood-Brown-Nicollet-Le Sueur-Rice-Goodhue-Watonwan-Blue Earth- Waseca-Steele-Martin-Faribault-Freeborn-Polk-Barron-Rusk- St. Croix-Pierce-Dunn-Pepin-Eau Claire- 223 PM CDT Mon Apr 28 2025 This Hazardous Weather Outlook is for portions of central and southern Minnesota, and west central Wisconsin. .DAY ONE...Tonight. Numerous severe thunderstorms are likely this afternoon and early evening. There is a Moderate Risk of severe thunderstorms (level 4 of 5) across much of the area. Very large hail, damaging winds, and tornadoes are likely. A few strong tornadoes are possible. .DAYS TWO THROUGH SEVEN...Tuesday through Sunday. No hazardous weather is expected at this time. .SPOTTER INFORMATION STATEMENT... SKYWARN spotter activation will likely be needed.
In the hours before
Local storm report, Apr 28, 4:33 PM CDT, 1 hour 19 minutes before
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Service Notice</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<main class="wrap">
<section class="card" role="status" aria-live="polite">
<div class="status" id="status">Temporary Notice</div>
<h1 id="headline">This service is currently unavailable.</h1>
<p id="message1">
The site you requested is temporarily down for maintenance or an unexpected outage.
</p>
<p id="message2">
Please try again in a few minutes.
</p>
<p class="small" id="detail">
If you are an administrator, restore upstream service and remove the redirect/fallback rule when normal operations resume.
</p>
</section>
</main>
<script src="index.js"></script>
</body>
</html>Local storm report, Apr 28, 4:38 PM CDT, 1 hour 14 minutes before
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Service Notice</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<main class="wrap">
<section class="card" role="status" aria-live="polite">
<div class="status" id="status">Temporary Notice</div>
<h1 id="headline">This service is currently unavailable.</h1>
<p id="message1">
The site you requested is temporarily down for maintenance or an unexpected outage.
</p>
<p id="message2">
Please try again in a few minutes.
</p>
<p class="small" id="detail">
If you are an administrator, restore upstream service and remove the redirect/fallback rule when normal operations resume.
</p>
</section>
</main>
<script src="index.js"></script>
</body>
</html>Local storm report, Apr 28, 4:42 PM CDT, 1 hour 10 minutes before
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Service Notice</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<main class="wrap">
<section class="card" role="status" aria-live="polite">
<div class="status" id="status">Temporary Notice</div>
<h1 id="headline">This service is currently unavailable.</h1>
<p id="message1">
The site you requested is temporarily down for maintenance or an unexpected outage.
</p>
<p id="message2">
Please try again in a few minutes.
</p>
<p class="small" id="detail">
If you are an administrator, restore upstream service and remove the redirect/fallback rule when normal operations resume.
</p>
</section>
</main>
<script src="index.js"></script>
</body>
</html>Local storm report, Apr 28, 4:55 PM CDT, 57 minutes before
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Service Notice</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<main class="wrap">
<section class="card" role="status" aria-live="polite">
<div class="status" id="status">Temporary Notice</div>
<h1 id="headline">This service is currently unavailable.</h1>
<p id="message1">
The site you requested is temporarily down for maintenance or an unexpected outage.
</p>
<p id="message2">
Please try again in a few minutes.
</p>
<p class="small" id="detail">
If you are an administrator, restore upstream service and remove the redirect/fallback rule when normal operations resume.
</p>
</section>
</main>
<script src="index.js"></script>
</body>
</html>Local storm report, Apr 28, 5:04 PM CDT, 48 minutes before
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Service Notice</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<main class="wrap">
<section class="card" role="status" aria-live="polite">
<div class="status" id="status">Temporary Notice</div>
<h1 id="headline">This service is currently unavailable.</h1>
<p id="message1">
The site you requested is temporarily down for maintenance or an unexpected outage.
</p>
<p id="message2">
Please try again in a few minutes.
</p>
<p class="small" id="detail">
If you are an administrator, restore upstream service and remove the redirect/fallback rule when normal operations resume.
</p>
</section>
</main>
<script src="index.js"></script>
</body>
</html>Local storm report, Apr 28, 5:17 PM CDT, 35 minutes before
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Service Notice</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<main class="wrap">
<section class="card" role="status" aria-live="polite">
<div class="status" id="status">Temporary Notice</div>
<h1 id="headline">This service is currently unavailable.</h1>
<p id="message1">
The site you requested is temporarily down for maintenance or an unexpected outage.
</p>
<p id="message2">
Please try again in a few minutes.
</p>
<p class="small" id="detail">
If you are an administrator, restore upstream service and remove the redirect/fallback rule when normal operations resume.
</p>
</section>
</main>
<script src="index.js"></script>
</body>
</html>The surface observations
Faribault Municipal (FBL), 19 km from the path, in the two hours either side.
| Time (UTC) | Temp (°F) | Dew point (°F) | Wind | Gust (kt) | Pressure (mb) | Weather |
|---|---|---|---|---|---|---|
| 00:00 UTC |
From the Iowa Environmental Mesonet's archive of airport observations.
The radar
The Minneapolis radar (KMPX), 76 km away, was scanning. The volume nearest the touchdown began at 22:52 UTC.
Open the radar archive at this moment, over the track
Reflectivity and velocity, decoded from the Level II archive in the browser. Volumes take a few seconds to open the first time.
This ground now
The live radar over the trackEvery 2025 tornado in MinnesotaEvery tornado in Minnesota since 1950Warnings in force in Minnesota nowThe forecast where you are
The other tornadoes of April 28, 2025
10 more were confirmed in the United States that day.
| Date | Time | Rating | Where | Path (mi) | Width (yd) | Deaths | Injuries | Damage |
|---|---|---|---|---|---|---|---|---|
| April 28 | 2:40 PM CDT | Unrated | Nobles, MN | 1.5 | 10 | |||
| April 28 | 5:38 PM CDT | EF0 | Rice, MN | 0.4 | 40 | |||
| April 28 | 6:37 PM CDT | EF0 | Pottawatomie, KS | 3.6 | 50 | |||
| April 28 | 7:32 PM CDT | EF1 | Buffalo, WI | 5.6 | 50 | $35,000 | ||
| April 28 | 7:44 PM CDT | EF1 | Eau Claire, WI | 2.0 | 100 | |||
| April 28 | 7:55 PM CDT | EF0 | Eau Claire, WI | 0.8 | 50 | |||
| April 28 | 8:07 PM CDT | EF0 | Eau Claire, WI | 0.8 | 25 | |||
| April 28 | 8:13 PM CDT | EF1 | Eau Claire, WI | 1.4 | 75 | |||
| April 28 | 10:00 PM CDT | EF0 | Shawano, WI | 1.9 | 55 | |||
| April 28 | 10:02 PM CDT | EF0 | Menominee, WI | 6.2 | 65 |
What this means
Ratings are the survey's, read off the damage rather than measured; the rating scale is above. Tornado counts rise through the record as reporting improved, so a year in the 1950s is not comparable with one today except for the strongest tornadoes, which were always noticed.
Sources
NOAA Storm Prediction Center tornado database, 1950-2025, the official record kept by NOAA's Storm Prediction Center.