The Top Tuna Sandwiches in New York
Save this article to read it later.
Find this story in your account’s ‘Saved for Later’ section.
Sant Ambroeus’ Il Nostromo.
Photo: Courtesy of Sant Ambroeus
Intrigued by the ongoing Subway tuna sandwich drama , we recently slunk over to our local branch to try the embattled chain’s hotly contested hoagie . The good news: it tasted like tuna, and as previously noted, it wasn’t half bad . (For the record, we went for the $5.59 six-inch sub and loaded it up with banana peppers, black olives, red onion, shredded lettuce, and tomato.) And yet, you can do better. If you want something more delicious and less controversial — if not quite as cheap — try one of the following.
$9.50; multiple locations.
Italian-tuna and egg salads (pictured above) on crustless tramezzini bread cut into triangles for ease of eating with one hand while holding a Negroni or an espresso with the other. The kitchen swears by As do Mar oil-packed tuna from Sardegna, which is certified by the sustainable-seafood project Friend of the Sea.
105 Sullivan St.
Alidoro’s Daniela
Photo: Courtesy of Alidoro
By our count, the Soho branch of the mini-chain lists five tuna-sandwich variations on its lengthy menu, and each one is a knockout. The Daniela (pictured above; Italian tuna, fresh mozz, hot peppers, arugula; $13) is the most popular, but we’ve always had a thing for the unsung oddball Vivaldi (tuna, eggplant caponata, provolone; $12).
$8; 127 Second Ave.
Photo: bandhdairy/instagram
Superrich and creamy tuna salad brimming with crunchy carrot and celery on expertly griddled challah. Get it with American instead of Swiss or cheddar for that superb, molten, thoroughly amalgamated quality you find in chopped-cheese sandwiches.
$10.50; multiple locations.
A pan bagnat riff with some North African flair: good canned tuna (currently the oil-packed Italian brand Flott), potato, tomato, hard-boiled egg, Kalamata olives, preserved lemon, chopped parsley, and the spicy curveball clincher — a hearty swipe of harissa. The springy focaccialike roll soaks up the juices and holds it all together.
$11.95–$12.95; 250 Vesey St.
Photo: Kim Fox/Courtesy of C3
You might not think to go to megabutcher Dario Cecchini’s new sandwich shop for tuna fish , but it actually serves a first-rate specimen mingled with a rich aïoli and chopped peperoncini; garnished with pickled red onion, lettuce, and tomato; and sluiced with a caper vinaigrette. It comes on toasted pan de cristal imported from Spain, and you can get it either freddi or caldi, in the form of a Tonno Melt with pepper-jack cheese.
$13; multiple locations.
Photo: Courtesy of Court Street Grocers
Cranberry sauce and tuna sounds like the twain that should never meet. But the combo has a pedigree that may interest sandwich geeks: It was concocted in Providence by none other than Dewey Dufresne at his groundbreaking shop, Joe’s. By the time Eric Finkelstein and Matt Ross, the college friends who would go on to open Court Street, discovered it, the place had changed name and ownership, becoming Geoff’s. Their contemporary riff (with horseradish mayo, white onion, and arugula) pays homage to those seminal sandwich shops. Bonus points: The fish is pole-caught albacore from the American Tuna brand.
$14; 123 Madison St.
A July fire has landed everyone’s favorite newfangled diner on the injured reserve list for a while. Chef-owner Sam Yoo hopes to reopen by August 17. In the meantime, you can contribute to the restaurant’s Fire Fund and prepare yourself for the return of the city’s best tuna melt–the secrets of which include a dash of French’s mustard for tang, Pickle Guys’ bread-and-butter pickles folded into the mayo for sweetness, and a cache of salt-and-pepper potato chips for crunch.
$11; 408 Broome St.
Photo: Courtesy of Despana
You’d think that with all the superb conservas lining the shelves at this Spanish-foods importer, you’d find a good tuna bocadillo at the café in the back of the shop, and you would be correct. Actually, you’ll find two. There’s the simple but excellent Bonito consisting of Don Bocarte-brand tuna, piquillo peppers, and tomato ($10.50), and our favorite, the fish-on-fish Pescador: tuna pâté whipped with piquillo and piparra peppers into a spicy orange spread, white anchovies, and a smear of aïoli on crusty Balthazar ciabatta. Get it smooshed in the sandwich press for the full effect.
Thank you for subscribing and supporting our journalism .
If you prefer to read in print, you can also find this article in the August 2, 2021, issue of
New York Magazine.
Want more stories like this one? Subscribe now
to support our journalism and get unlimited access to our coverage.
If you prefer to read in print, you can also find this article in the August 2, 2021, issue of
New York Magazine.
Eat like the experts.
Sign up for the Grub Street newsletter.
Vox Media, LLC Terms and Privacy Notice
By submitting your email, you agree to our Terms and Privacy Notice and to receive email correspondence from us.
The Top Tuna Sandwiches in New York
Things you buy through our links may earn Vox Media a commission.
Latest News from Grub Street
the approval matrix
12:00 p.m.
The Approval Matrix: Cuomo’s Starting to Sweat
Our guide to what’s highbrow, lowbrow, brilliant, and despicable.
the grub street diet
6:00 a.m.
Enrique Olvera Stays Hydrated With a Suero
“It’s just lime, salt, and sparkling water: a Mexican Gatorade.”
By Ben Widdicombe
the other critics
June 11, 2025
Times Restaurant Critics Finally Abandon Anonymity
Ligaya Mishan and Tejal Rao are the new co-critics.
restaurant review
June 11, 2025
Pitt’s Is Country Couture
Jeremy Salamon offers high-concept home cookin’, with pancake soufflés and green-goddess escargot.
By Matthew Schneier
openings
June 10, 2025
Ops Is Expanding to the East Village
The Bushwick favorite is heading to Manhattan, with new pizza inspired by the Midwest.
By Chris Crowley
openings
June 9, 2025
Eddie Huang Is Cooking in New York Again
The chef has a new pop-up, a new family, and a new approach to Chinese cooking.
By Tammie Teclemariam
father's day gifts
June 8, 2025
The Best Gifts for Foodie Dads
Foolproof ideas for the dad who says the quickest way to his heart is through his stomach.
the grub street diet
June 6, 2025
Erik Piepenburg Used to Man-hunt at Veselka
“The dining room isn’t as gay as when I went there in the ‘90s, but whatever.”
By Paula Aceves
1.5x speed
June 3, 2025
What Keith McNally Is Listening To
“Because this is a dangerous time in America, I gravitate to podcasts which concentrate on the lunacy of the Trump administration.”
chef shuffle
June 3, 2025
Victoria Blamey Is Heading to Il Buco
The acclaimed chef will be culinary director for Donna Lennard’s family of Italian restaurants.
openings
June 3, 2025
Dell’anima Returns to the West Village
The 2010s favorite is back where it belongs.
By Anna Hezel
where to eat
June 2, 2025
Where to Eat in June
The best restaurants for right now.
By Grub Street
the approval matrix
May 30, 2025
The Approval Matrix: Elon’s Big, Beautiful Crash
Our guide to what’s highbrow, lowbrow, brilliant, and despicable.
gifts
May 30, 2025
The Best Gifts for Beer Lovers, According to Brewers and Beer Lovers
Because you can do better than a novelty beer helmet.
the grub street diet
May 30, 2025
Restaurateur Natalie Johnson Romanticizes Sandwiches From the ’90s
“We do a seared tuna burger with wasabi-soy glaze, and it’s just what I want to be eating.”
By Alan Sytsma
announcements
May 29, 2025
Introducing Emily Gould, Dinner Party ’s New Host
Here’s what to expect from the newsletter’s next era.
restaurant review
May 29, 2025
Bánh Anh Em Makes Food With Some Tooth
The sandwiches and soups are chewy, crunchy, crispy, and crackly — usually all at once.
By Matthew Schneier
coming soon
May 28, 2025
Millions of People Watch Cugine’s Videos. Will They Eat His Chicken Cutlets?
The social-media food star is opening a café in Brooklyn. “I needed to do something new,” he says.
By Jason Diamond
comebacks
May 27, 2025
This City Is Ready for Some Fro-Yo
Pistachio drizzles top artisanal swirls while once-forgotten chains plot a return to prominence. Is the next big yogurt boom here at last?
By Rachel Sugar
the grub street diet
May 23, 2025
Erika Henningsen Hates a Book-Length Menu
“I’m talking to you, Cheesecake Factory.”
By Zach Schiffman
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,"19":19,"39":39,"45":45}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(19),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(144),pageUri=require(134).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()&&e.classList.add("subscribed"),auth.isMobileAppRequest()&&e.classList.add("nymag-app"),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,"4":4,"19":19,"134":134,"144":144}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(231),_each=require(419),Fingerprint2=require(418),DS=require(417),Eventify=require(257);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();
}, {"231":231,"257":257,"417":417,"418":418,"419":419}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(128),_forEach=require(117),_isString=require(279),_intersectionWith=require(420),_isEqual=require(285),_each=require(419),_debounce=require(161),_sortBy=require(215),page=require(134),visit=require(124);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()})}}]);
}, {"117":117,"124":124,"128":128,"134":134,"161":161,"215":215,"279":279,"285":285,"419":419,"420":420}];
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("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy"}];
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();
// ]]