James Caan in TheGambler.
Photo: Paramount/Kobal/Shutterstock
Adam Sandler likes to tell a story about being on the Paramount lot as a young guy, around the time of the making of Misery, and running into James Caan. A huge fan, the comic was nervous about meeting his hero, telling the Oscar-nominated legend that his grandmother thinks that Sandler will be the next Caan. “Oh, you don’t want to do that,” Caan supposedly said in response. The implication was that Caan didn’t necessarily think his career was something to aspire to, and to be fair, he was struggling at the point where he signed up for that Stephen King adaptation. Thankfully, Misery would turn things around for Caan, who died on Wednesday at the age of 82, with his co-stars and friends fondly remembering the iconic character actor.
Anyone wanting to understand Caan’s appeal should start with Caan’s obvious highlight, 1972’s The Godfather, in which he plays Sonny, the volcanic eldest son in the Corleone family, whose graphic death is one of the most famous and harrowing in all of cinema. Caan played Sonny as a live wire, the explosive counterpart to younger brother Michael’s (Al Pacino) calm, measured demeanor. But after that Best Picture winner, where do you go next? We present, in chronological order, nine other important James Caan performances, which stretch from the late 1960s to early this century, from touching dramas to silly comedies. The Godfather deserves its place at the top of his obituary, but these additional movies suggest the breadth and depth of a remarkable actor.
The Rain People (1969)
The film Francis Ford Coppola made after the success of Finian’s Rainbow — the one he cashed in his studio success for (and which flopped so completely that he’d have to work his way back into the industry’s good graces with The Godfather) — is one of Coppola’s most personal. A pregnant woman (Shirley Knight) based on Coppola’s mother runs away from her family and travels across the country with a mournful policeman (Robert Duvall) and a brain-damaged former college football star (Caan) named Killer; the trio fights and loves and tries to find some meaning in their lives. There are moments when the movie soars, and even though it falls apart at the end, it’s a wonderful showcase for all three actors, especially Caan, who was still finding his way around Hollywood after a failed Howard Hawks film called Red Line 7000. There’s an innocence to Caan here, interspersed dangerously with violence. Coppola, suffice it to say, was not done with him or Duvall.
By all accounts one of Caan’s favorite films even though he’d initially turned down the part of Brian Piccolo, a real-life football player with terminal cancer, because he wanted to work in movies, not television. (This was an ABC Movie of the Week.) But the power of Piccolo’s friendship with Hall of Famer Gale Sayers (played by Billy Dee Williams), along with the weepie script, won him over, and Brian’s Song was such a hit it was the highest-rated-ever TV movie at the time. (His one Emmy nomination was for this film.) It is virtually guaranteed that an older male member of your family has cried watching Brian’s Song; the one-two punch of this and The Godfather made Caan a huge, huge star.
Underrated and overlooked, this mournful take on a literature professor with a gambling problem probes the psychology of compulsion, and Caan plays this man as intelligent but also doomed. What’s heartbreaking about Axel is that he’s smart enough to know better, but what The Gambler illustrates so convincingly is that “knowing better” means nothing to an addict, and Caan captures both the character’s confidence and despair, the roller coaster of emotions that feed him, even if self-destruction is the only possible outcome. A cutting companion piece to another 1974 film about hopeless gamblers, Robert Altman’s California Split, The Gambler feeds on its star’s Everyman urgency, his refusal to play anything less than utterly authentic.
In retrospect, it’s a shame that Caan never again worked with Michael Mann, two consummate no-bullshit artists who aligned on this taut tale of a jewel thief who’s doing the proverbial One Last Job before leaving the life behind. “He’s a workaholic, first of all,” Caan said earlier this year about working with Mann on his feature directorial debut. “He’s tough. But I … prefer them to somebody who doesn’t like what they’re doing or doesn’t believe in what they’re doing. Michael believed he had an idea, and he stuck to it.” So did Caan, who saw in Frank an aging idealist a little more openhearted than the tough-guy characters he usually played. Mann brought out a precision in Caan, who got a rare opportunity with Thief to enjoy a star vehicle, one that catered to his steely strengths. We’re left to wonder what Caan could have brought to Heat or The Insider, although maybe we should be simply grateful that these two hooked up at all.
The key to Caan’s performance as Paul Sheldon, the author kidnapped and tortured by Kathy Bates’s Annie Wilkes, is that he is passive: Everything happens to him, rather than because of him. To have a muscular, brash actor like Caan play the part makes both the film and Bates’s (Oscar-winning) performance more powerful: You feel that much more for him because he finds himself so helpless. This part was turned down by just about every major male actor in Hollywood — Harrison Ford, Gene Hackman, Robert De Niro, Dustin Hoffman — but Caan is perfect in it: He is reasonable, and sane and trusting, in a way Caan’s characters weren’t always. You believe every bit of it here. Who knew Caan was such a good pleader? (Not that it helps him.)
Caan was in Texas for only two weeks to film Wes Anderson’s first movie, and Anderson would later wonder if Caan entirely understood what he was doing there with all those amateurs. (“I remember him being just, ‘Why is this happening?’” Anderson would later say.) But Caan, the only actor anyone who saw Bottle Rocket knew at that point, was clearly having a blast, calling the script “poetry” and playing his “gang” leader with a twinkle in his eye. This is so different from the films Anderson would later make — it’s difficult to imagine Caan working as well in any of them — which is another reason why Caan’s scruffy charm and tender menace is such a snug fit here.
In this James Gray drama, James Caan starred alongside Mark Wahlberg, who would remake one of Caan’s own films, The Gambler, more than a decade later. Here, he plays Frank, who wants to help his ex-con nephew Leo (Wahlberg) find work. But Leo should be careful whom he accepts “help” from, setting the stage for a story about family, power, and corruption. The Yards very much harks back to the New Hollywood Renaissance of the 1970s, so it makes sense that Gray would cast one of that decade’s preeminent character actors to portray Frank, a crooked man trying to keep his little empire afloat. The role comes as naturally to Caan as breathing, and he fills this guy with a lifetime of regret and desperation. It was a good reminder of the soulfulness he could locate in even the most dishonest of individuals.
Lars von Trier’s poisonous diatribe on the hypocrisy of small-town American “values,” Dogville builds to its final revelation, which is that Nicole Kidman’s innocent victim Grace is, in fact, the daughter of a powerful mobster, identified in the credits only as “the Big Man.” When the character arrives, Caan plays him with a mixture of menace and parental tough love — not that he entirely enjoyed the experience of making the film. “Oh, he’s a fucking wacko!” Caan would later say of von Trier, recalling that his big scene in the car with Kidman required him “sitting in the back of this thing for hours. Smoking a cigarette in this silly outfit. Nicole finally comes in with von Trier, we play this long scene, and then they get out and go back up the street. I’m sitting there waiting. I’m in there for literally three or four hours more, and Nicole is exhausted. After a while I say to the [assistant director], ‘Go tell Nicole that if she needs me, I’m still in the damn car.’” Nonetheless, Caan makes his presence felt, imbuing that star-studded film with one final veteran heavyweight who challenges Grace, as well as our perception of a character that we thought we knew. Of all the gangsters Caan would play after The Godfather, this one is the best.
Sure, The Godfather is what he’ll be remembered for. But a whole generation of kids first saw Caan as Walter, Buddy’s dad in this classic Christmas comedy. Caan never winks or acts like he’s in a comedy; he’s bewildered and even a little afraid of Buddy and (reasonably) wants nothing to do with him, but once he realizes the truth that he’s his son, he takes him in anyway … and learns to love him, just like the rest of us. If you can melt Caan’s heart, you can melt anybody’s. Caan is the character who changes in Elf: In a way, it’s really his story. Not that Caan ever oversteps: He plays the role straight, warmly, and with the good cheer Buddy, and the film, deserves.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// 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(406),Fingerprint2=require(408),DS=require(407),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(406),_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,"406":406,"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();
// ]]