Groundswell Coffee
Tucked away in the Hamline Midway neighborhood of St. Paul, Groundswell Coffee is a self-proclaimed "friendly collaboration of handcrafted coffee, food, and bakery." Dog owners with a hankering for a cup of joe can sit at one of Groundswell's four outdoor tables on its side patio or three outdoor tables out front. Groundswell's menu includes coffee and tea drinks, beer, wine, weekend brunch items, sandwiches made vegetarian or gluten-free by request, quiche, a Classic Waffle, Earl Grey Waffle, House Granola, soups, salads, Seasonal Veggie Flatbread, SEspresso BBQ Chicken Ragout, a Veggie Burger, and unique sides. The bakery offers sweet treats such as a Honey Caramel Roll, Mocha Pecan Muffin, Minnesota Cookies, Cardamom Macaroons, cupcakes, and more. Groundswell is open daily from 7am to 9pm.
Visit Website
Or call (651) 645-6466 for more information.
Reviews
Questions & Answers
Be the first to ask a question about this restaurant.
Traveler Photos
We haven‘t received any photos of Groundswell Coffee yet.
Want to feature your creature? Upload a photo of your pet at Groundswell Coffee! You can also share by using the hashtag #bringfido on Facebook, X, TikTok or Instagram.
Area Info
Nearby Hotels
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
Nearby Activities
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
Similar Restaurants
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">
search[item] != defaultSearch[item]).map(item => lodgingContextDataParamMap[item] + '=' + encodeURIComponent(search[item])).concat(search['childAges'].map(item => 'child_ages=' + item)).concat(search['petTypes'].map(item => 'pet_types=' + item)).concat(search['petWeights'].map(item => 'pet_weights=' + item)).concat([(search.petWeights.some(weight => (weight || 0) >= 50) || search.largeAllowed) ? 'large_allowed=on' : '', (search.dogs > (search.type == 'rentals' ? 1 : search.rooms) || search.multipleAllowed) ? 'multiple_allowed=on' : '', (search.petTypes.some(type => type == 2) || search.catsAllowed) ? 'cats_allowed=on' : '']).concat(search['amenities'].slice().sort().map(item => 'amenities=' + item)).filter(item => item).join('&')].reduce((x, y) => y ? x + y : '')" data-vars-link-city-id="16763" data-vars-link-content-group="restaurant/details" data-vars-link-placement="nearby" data-vars-link-property-id="54781">