The Nordic Ski Trail Guide lists all the places to cross-country ski in the Twin Cities metro area, along with links to park entrance fees and ski passes, (if applicable) trail maps and trail conditions, and information on ski rental availability, snowmaking and lighted trails for nighttime skiing.
Lake Elmo Park Reserve (Lake Elmo)
My favorite place to ski in the East metro is Lake Elmo. The scenery is pretty and the gently rolling terrain keeps experienced skiers interested, but it's not too challenging for beginners or anyone who wants to ski at a relaxed pace.
Hyland Lake Park Reserve (Bloomington)
With over 5.5 kilometers of snowing-making, Hyland is our go-to destination when there's not enough natural snow to ski elsewhere. The grooming is excellent and the hilly terrain makes for an intense workout. Hyland is a great for night skiing with almost nine kilometers of lighted trail.
Battle Creek Regional Park (St. Paul)
The introduction of four kilometers of snowmaking means that Battle Creek may lose its "hidden gem" status as more skiers discover it, but I think the non-snowmaking trails will continue to offer tranquility and a feeling of skiing deep in the woods.
William O'Brien State Park (Marine on St. Croix)
The state park is a little bit of a drive, but it's a popular destination for cross-country skiers. Nonetheless, the trails aren't too crowded and there's something for every skill level.