The Meatpacking District, as its name indicates, was once home to the city’s wholesale butchering trade, and some New Yorkers remember the days when the cobblestoned streets smelled of rotten meat, were slick with fat, and were hosed down daily to clean off the animal gore. Following the exodus to new facilities in the Bronx, few meatpackers remain, and a gentrification boom has transformed the enclave sandwiched between the West Village and Chelsea into an epicenter of designer shops, boutique hotels, and glitzy nightlife. Not every restaurant has a Champagne-fueled brunch that ends in table dancing (though one of the bonuses of being in a party-hearty ’hood is that many spots are open from breakfast until late night). There are still some sane places to eat, and even some great ones. Here are the absolute best restaurants in the Meatpacking District.
Never mind the name — this second branch of a China-based chain is close enough to the murky border between Chelsea and the Meatpacking District that either neighborhood can rightfully claim it. And both should, on account of its fantastic food, accessible prices, professional service, and comfortable ambience. (They even take reservations!) Like its Greenwich Village predecessor, the kitchen specializes in regional Chinese cooking, particularly in the specialties of Sichuan, with some Shanghainese dishes, too. The ma la is in full effect in the Le Shan chicken, a haystack of shredded poultry tossed with scallion slivers and sesame seeds, and laced through with mouth-numbing house-made chile sauce. From the grill, an oil-slicked eggplant comes to the table splayed, doused in a hot-sweet-sour fish sauce, and soft enough to eat with a spoon. A dish of wood-ear mushrooms, floppy and chewy and tossed with sliced hot pepper and cilantro leaves in a Chinese vinegar dressing, is nothing short of addictive. Don’t leave without trying the noodles. The dan dan noodles are a crowd pleaser, but for a regal bowl, sample the lion’s head meatballs, gelatinously tender spheres of pork and Chinese yam, with wheat noodles, fresh greens, and a poached egg in a rich broth darkened with soy sauce.
This cavernous Spanish restaurant buzzes with after-work types who gather at the bar for drinks served in hollowed-out grapefruits, and parties that crowd the communal table in a dining room booming with hip-hop. Legs of jamón hang from the rafters in an industrial space equipped with cement floors and reclaimed-wood surfaces. Chef-owners Ken Oringer and Jamie Bissonnette serve nuancedinterpretations of tapas that are a pleasure to eat: The hamachi crudo with dashi gelée, tomato water, Sungold tomatoes, and chile oil has hints of smoke, fruit, and spice. The gambas al ajillo are a generous portion of shrimp cooked on the plancha, coated in a luscious cascabel-chile sauce that upstages the top-billed garlic. And a pressed uni sandwich with miso butter and mustard seeds is like an aquatic grilled cheese — hot and buttery with a custardy center, and just salty enough to lure you into buying another round of drinks.
3. The Wild Son 53 Little W. 12th St., nr. Washington St.; 212-727-7900
Photo: Melissa Hom
The Wild Son is too cool to be in the Meatpacking District. The shabby-chic all-day café is low key and well-priced, offering a millennial power menu made with care. The vibe is chill, thanks to plenty of natural light, hanging plants, a friendly staff, and hints that you’re in a safe space, like the “no sex” sign on the bathroom door. A respectable avocado toast (called a “green tartine” here), the measure of such a place, features an avocado half topped with a runny egg, served on multigrain bread slathered with herbed yogurt, and a thoughtfully placed wedge of lime on the side, which, when spritzed on top, brings the sandwich to life. The All Day, Every Day salad, a cross between a kale salad and a grain bowl, featured kale ribbons tossed with slivers of watermelon radish, cubes of squash, farro, and a savory seeded granola, all flavorful and clean. Wash it down with the obligatory black drink, a charcoal lemonade sweetened with honey, which is tart, fizzy, refreshing, and sipped through a paper straw (natch).
The Old Homestead has everything you want from an old-school steakhouse. Geriatric waiters? Check. Carpeted dining room? Yes. Red leather banquettes? They have those, too. It’s no wonder — it’s the oldest steakhouse in New York, open since 1868, and its location, adjacent to the historic Meatpacking District, feels meaningful. Though the wine list and dessert menus are presented on iPads and there have been inevitable attempts to modernize the menu (lots of truffled things), the place is still legit. The dry-aged USDA prime steak comes in the cuts you want, like the classic porterhouse for two, or a more “modest” 34-ounce bone-in Gotham rib steak, aged 28 days, nicely charred, cooked to a rosy pink, and topped with frizzled onions. The creamed spinach, which the waiter adorably referred to as “healthy,” is like the greens version of Robuchon’s mashed potatoes — suspended in creamy goodness and more dairy product than vegetable.
5. Bubby’s 73 Gansevoort St., at Washington St.; 212-219-0666
Photo: Melissa Hom
This Meatpacking outpost of a Tribeca institution is all about comfort food that hits the spot. Which might explain the lengthy menu that includes not one but two types of pancake (the James Beard, enriched with sour cream, and the crazy tangy sourdough), biscuits, burgers, and so much more. It’s a casual spot, with a sunny, spacious interior, sidewalk seating, and a lengthy bar — perfect for dinner alone, with the family, or outside with your dog. It’s open from breakfast (which is served all day) until late, and prides itself on being wholesome, so the burgers come from grass-fed cows, as does the butter served with the warm biscuits. The delectable fried chicken, with a crust so crisp that it’s immune to refrigeration, hails from Sullivan County upstate. Though Bubby’s makes a big deal about its pies, dessert from the Ample Hills Creamery scoop shop, also located in the restaurant, is the way to go.
6. Santina 820 Washington St., at Gansevoort St.; 212-254-3000
Photo: Melissa Hom
This breezy restaurant from Major Food Group is like Miami on the Hudson. Windows outnumber walls, and while the menu is coastal Mediterranean, the feel is tropical, bolstered by potted palms, a kitschy seaside mural, and pastel-and-white uniforms that resemble yacht-club attire. You almost feel compelled to order an Aperol spritz (served with an olive) and dig into a platter of fritto misto, a hefty appetizer that could easily feed two, chock-full of sundry seafood including tiny squid and gently cooked scallops and shrimp, with tartar sauce. The restaurant claims to be gluten-free, but the extensive pasta offerings do not suffer for it. Spaghetti with blue crab is another huge portion, dressed in a fruity cherry tomato sauce and punctuated with bits of sweet crab.
7. Untitled 99 Gansevoort St., nr. Washington St.; 212-570-3670
Photo: Tirzah Brott
This minimalist dining room, located on the ground floor of the Renzo Piano–designed Whitney Museum, doubles as a showroom for mid-century furniture — namely, the Eero Saarinen chairs that anchor the spare decor. A meal here won’t be the most memorable of your life, but it’s a cut above most museum food, and with gratuity included, the price is quite reasonable. Chef Suzanne Cupps has designed a menu of small plates that aren’t so small — the server recommends two to three per person, but two is plenty. One good choice, romaine with bits of Surryano ham, blue cheese, Sungold tomatoes, and a nutty pumpkin-seed mole dressing, is a fresh take on a wedge salad, while tender scallops in a pool of tangy melon gazpacho, dotted with cute Mexican cucumbers, also exhibited some finesse. And if you get the right seat, it’s a lovely place to catch the sunset over the Hudson.
The Standard, High Line, the hotel that straddles the elevated park, is vast — there’s the biergarten, communal plazas for hanging out, a couple of glitzy clubs, and the Standard Grill, the hotel’s official canteen. The restaurant itself is sprawling, too, with sidewalk seating and coveted tables in discreet shaded nooks, and two sizeable dining rooms that exude Keith McNally–esque charm, thanks to subway tile, a floor embedded with pennies, and specials written on mirrors, bistro-style. It’s not the scene that it was when it opened in 2009, but it’s still a pleasant perch from which to slurp down a dozen icy Massachusetts oysters (served with droppers of lemon juice, Tabasco, and mignonette), or to dig into a solid burger with well-seasoned shoestring fries and a sour pickle.
9. Simò Pizza 90-92 Gansevoort St., nr. Washington St.; 212-462-2703
Photo: Melissa Hom
This fast-casual Neapolitan pizzeria is what every touristy neighborhood needs — a good-looking space with ample seating that serves delicious food that’s quick and cheap. Part of Simò’s appeal is curation: A short list of salads and pizzas, a few well-chosen wines, and some fizzy Italian drinks make for a stylish menu. The seating is dignified, too, with roomy communal tables, cloth napkins, real flatware, and a bottle of tap water with a Duralex glass, just for you. Order at the counter and wait mere minutes until your pizza is served, blistering hot, from a gorgeous copper oven. The margherita pizza is exemplary, a flavorful crust topped with a bright San Marzano tomato sauce, gooey mozzarella di bufala, a drizzle of olive oil, and fresh basil. And while the cacio e pepe pizza may leave you wanting to dab grease off your slice like mom used to, with its topping of pecorino, black pepper, mozzarella, basil, and olive oil, it’s a dead ringer for everyone’s favorite pasta dish.
This first retail location of an old roasting company with roots in New York City is a café by day and a bar by night, bolstered by a small menu that is valiantly executed with two panini presses, a convection oven, and an espresso-machine steam wand. Start the day with a quality egg sandwich made with caramelized shallots, chives, and grated cheddar on crusty Sullivan Street Bakery bread, and a coffee-based mocktail like the Lemony Yemeni, a frothy drink made from lemon juice, apple blossom bitters, maple syrup, and cascara — tea brewed from the fruit of the coffee plant — spiced with cinnamon and fresh ginger. (The regular espresso drinks are great, too.) Come evening, the lights at the handsome, old-timey space are dimmed, and cocktails take over. The Three-Hour Kyoto Negroni, a slow extraction of sweet vermouth, gin, Campari, and Burundi coffee, is a balancing act of fragrance and bitterness, a gastronomic retort to Red Bull and vodka. Order the charcuterie board, a tasty variety of cured meats, pickled things, and cheese, and you’ve cobbled together dinner.
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(136),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]