As recently as five years ago, New York City was a pretty desolate landscape for locally brewed beer. However, a 2014 legislative change legalizing on-premise sales brought a tide of brewery and taproom openings that soon swept over every borough. This is New York, though, and simply making IPAs, setting out a shingle, and slinging pints on the premises where they’re made is a pretty low bar to top. The best of breed combine a warm, well-designed setting with a welcoming, knowledgeable staff, and, oh yeah, high-quality beer. Here, the absolute best taprooms for kicking back local NYC beer.
The Absolute Best
1. Folksbier Brauerei 101 Luquer St., nr. Clinton St., Carroll Gardens; no phone
Folksbier Brauerei’s Glow Up Berliner–style weisses are flavored with seasonal fruit.
Photo: Camilo Fuentealba
Few find Folksbier by accident. It’s on a drowsy street on Carroll Gardens’ far edge, closer to the rumbling BQE than a subway station. Make the trek, though, and you’ll be greeted by New York City’s platonic taproom ideal. Founder Travis Kauffman, former managing partner of Prime Meats and Frankies 457, channels his hospitality background at Folksbier. Here, a towering wall of greenery greets guests in the rustic taproom, heavy on wood and warm bartenders who, ice cream shop–style, dole out cool samples of Folksbier’s European-inspired beers. We’re partial to the highly refreshing Helles Simple lager and Glow Up series of fruited Berliner weisses, acidity tempered by ripe produce such as raspberries and, for a cocktail-like kick, cucumber and lime. (Kauffman’s family farm in Michigan grows many of his beer’s hops.) To keep your visit going round after round, Folksbier offers cheese, charcuterie, and soft pretzels, partnered with food pop-ups featuring, say, jerk-chicken roti or grill-smoked shrimp tacos. Make sure to bring a deck of cards and a couple of friends. Once you’ve arrived at Folksbier, you’re here for the long haul.
On summer days in the Rockaways, simply buying a Ripper’s burger or sloshing a plastic cup of beer at Surf Bar can be as daunting as fighting a riptide. So when crowds swarm and we’re broiled well-done, we pack up our towels and umbrellas and pop over to Rockaway Brewing’s breezy beach outpost. Here, flip-flops and tank tops are the favored dress code, and locals park cruiser bikes — no locks needed — beside communal picnic tables. Inside the raw taproom, you’ll find vibrant murals, a Foosball table, vinyl lazily spinning on the turntable, and crushers like Da Beach wheat beer and Black Gold, an espresso-tinged stout that’s suited for when endless summer relents to fall and winter. That’s key, because the taproom remains open year-round, the perfect spot after a polar-bear plunge or frigid surf session.
When Schaefer shuttered its Bushwick brewery in 1976, it ended the neighborhood’s reign as one of America’s brewing epicenters. Four decades later, friends Pete Lengyel, Tony Bellis, and Zack Kinney — they met on the home-brewing circuit — resurrected local brewing with Kings County Brewers Collective. The collaborative setup lets each member create recipes such as the hazy and pineapple juicy KCBC IPA and snappy Janiak Maniac pilsner, listed on a movie theater–style marquee above the reclaimed-pine bar. The stools make fine roosts in the pretension- and TV-free taproom, a haven for families and beer diehards who can name-drop their five favorite hop varieties. Our advice: Fill a glass with the latest Full Contact fruited sour, and sip it beside the floor-to-ceiling windows, the perfect vantage point for watching modern Bushwick amble by.
No matter the time of day, there’s always an excellent reason to visit Threes. Come morning, the Ninth Street Espresso counter fuels the freelance set with superior eye-openers, before Threes transitions into a bottle shop and, at last, a taproom offering Meat Hook cheeseburgers and hot chicken sandwiches. The perpetually rotating beer list is similarly crowd-pleasing, hopping from lagers like the Mexican-style Echo of Nothing to the candy-sticky SFY imperial IPA and award-winning Vliet pilsner — it took top honors at 2017’s New York State Craft Beer Competition. Given the place’s bona fides, Threes’ bar and oyster shell–strewn backyard can get crowded, even for rush-hour train masochists. If claustrophobia creeps in, there’s a quick antidote: Grab fresh Threes cans from the takeout fridge and bring the taproom to your apartment.
5. Bronx Brewery 856 E. 136th St., nr. Walnut Ave., Port Morris; 718-402-1000
In 2014, Chris Gallant and Damian Brown turned a former lace factory into the permanent headquarters for Bronx Brewery, becoming the borough’s first beer-maker since 1962. It soon cemented itself as a neighborhood institution with approachable beers like Bronx Banner golden ale and deep reverence for the Boogie Down Bronx’s hip-hop heritage. That means the musically inspired B-Tracks beers, such as the smooth and fruity Boom Boom white IPA, are best tipped back in the 5,000-square-foot backyard during summertime’s weekly DJ-driven shindigs. Bring your dancing shoes, and a thirst for hop-forward brews. (The brewery also hosts the salsa-focused “Bembé in the Bronx” dance party on the last Thursday of the month, with revelers shimmying beside the brewing tanks.)
Honorable Mentions
Birreria 200 Fifth Ave., at 23rd St.; 212-937-8910
Ride an elevator to Eataly’s 15th floor and you’ll find Birreria, your refuge from Flatiron’s tourist hordes. When the weather’s fine, the rooftop retracts to let in sunshine. Pair a platter of cheese and charcuterie with a pint of house-brewed beer such as the citrusy Sleep Gary pale ale.
Brooklyn Brewery 79 N. 11th St., nr. Wythe Ave., Williamsburg; 718-486-7422
It can be easy to overlook the granddaddy of New York City’s beer scene, but Brooklyn Brewery is worth a visit to the taproom to try revolving small-batch experiments like the Tecnico Rudo strong ale and citrusy Buster Beer V farmhouse ale.
Circa Brewing Co. 141 Lawrence St., nr. Willoughby St., Downtown Brooklyn; 718-858-0055
After sauntering across the Brooklyn Bridge, there’s no better reward than a beer and bite, meaning your final destination should be Circa Brewing. It cooks up crispy Neapolitan pizzas, flame-licked in a wood-fired oven. To drink, Sixpoint vet Danny Bruckert makes memorable, food-friendly beers like a toffee-tinged amber lager, plus brisk pilsners and cloudy New England IPAs. Cocktails also take brewing cues, most notably with the Old Fashioned spiked with a spent-grain tincture.
A brewery? In Glendale, Queens? You better believe it. On a dead-end block near the railroad tracks, Basil Lee and Kevin Stafford crank out generously hopped IPAs and tingly sours that walk the line between wine and beer. It’s a commitment to get to this part of the borough, but the payoff is in the pinpoint beer — and the fact that, with oodles of space, the taproom rarely gets too crowded.
Industry City (and Costco!) might draw the crowds to this waterfront stretch of Sunset Park, but Five Boroughs is fast becoming a destination as well. The colossal taproom — forged from a former steel manufacturer — pairs towering ceilings with windows aplenty, bathing the communal tables in sunlight. Brewer Nick Griffin’s standouts include a bitter and grassy pilsner and a tart German-style beer that balances its acidity with a sprinkle of salt.
You like beer. Your friends are cocktail drinkers. Split the difference at Interboro, a combo brewery and distillery, which offers hop-stuffed IPAs and crisp pilsners alongside house-distilled spirits such as the juniper-laced Goodwin Hill gin, available with tonic on tap or sold by the can. Pro tip: Try the version with hibiscus and lime.
Too often, sports bars’ beers are less exciting than a nothing-nothing baseball game in the 19th inning. Greenpoint’s Keg & Lantern fills the void by augmenting run-of-the-mill sports fare with killer chicken wings and IPAs like the juicy Gastronomical and well-bittered Green Eyes that are brewed in the basement. Better yet, before 7 p.m. on weekdays, all pints are $5.
Since opening in early 2014, Other Half has set the gold standard for New York City IPAs, with acolytes lining up predawn to purchase cans of their cultish releases. The Brooklyn brewery recently expanded into an adjoining warehouse, but the crowds have only intensified for a taste of their aromatic IPAs reminiscent of tropical fruit. Battle the weekend masses, or make the smart move and visit early in the week, when the vibe is mellower and you can usually grab a table.
Given that the brewery takes its name from a guitar body, it’s a no-brainer that music reverberates through every square foot of SingleCut. Bartenders spin vintage vinyl in between pouring fragrant IPAs such as Workers Are Going Home, inspired by a Weezer song, and the Heavy Boots of Lead imperial stout named after a line in Black Sabbath’s Iron Man. Bonus: Bands regularly play on the upstairs stage, and Salt & Bone doles out ribs and brisket tacos on-premise to keep the party going.
Strong Rope Brewery 574 President St., nr. Fourth Ave., Gowanus; 929-337-8699
Jason Sahler’s family-run Brooklyn brewery is a shrine to local beer, primarily utilizing New York State–grown grain and hops in every one of its American- and British-inspired beers. Of note: You can bring in your own food, and on Friday afternoons, Strong Rope taps a special cask ale.
`;
// 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()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),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(3),appendLandingPageParams=require(135),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 i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.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()||auth.isMobileAppRequest())&&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;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
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(106),_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()})}}]);
}, {"106":106,"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","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.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();
// ]]