28 Days Later

28 Days Later

I definitely got ripped off buying this on DVD, but it had to be done 🤷🏿‍♂️

There’s something raw and unrelenting about 28 Days Later that sticks with you long after the credits roll. Danny Boyle doesn’t just deliver a zombie movie—scratch that, an “infected” movie—but a full-on plunge into post-apocalyptic chaos. The real genius here is how it strips the genre down to its nerve endings. The story begins with Cillian Murphy’s Jim waking up alone in an empty hospital and stumbling into a desolate, eerily quiet London. From the get-go, you’re thrown into his confusion and terror, and it never really lets up.

What makes 28 Days Later so good is how it balances feral, balls out terror with quieter, introspective moments. Sure, the Rage-infected aren’t technically zombies, but Boyle gives them this terrifying speed and aggression that flips the slow-shambling undead trope on its head. These infected don’t just chase you—they hunt you, and it makes every encounter feel like a fight for survival. I will stand by this till my dying day - these zombies are so much worse than the walkers in the walking dead. Running flat out and smashing shit up. It’s genuinely horrifying. But what’s even scarier than the infected? The living (cliche).

That’s where the movie shines: the human element. The survivors Jim teams up with—Selena (played with a steely brilliance by Naomie Harris) and Mark—are all hardened in different ways, and their dynamics feel brutally honest. The apocalypse doesn’t romanticize them; it breaks them down. And then there’s that third act twist with Christopher Eccleston’s Major Henry West and his merry band of soldiers, which feels like it’s ripping off the polite mask of civilization to show the violence and control bubbling beneath. It’s unsettling in a way that hits you harder than any blood-spewing infected could.

Visually, this movie is a masterclass in mood. Those grimy, handheld shots by Anthony Dod Mantle make the whole thing feel like you’re watching someone’s very bad day spiral out of control in real-time. The empty streets of London are haunting. The score? Iconic. John Murphy’s “In the House - In a Heartbeat” is practically a character on its own, creeping in at just the right moments to squeeze your chest a little tighter.

But it’s not perfect. The pacing stumbles a bit once the group hits the mansion, and some of the character decisions (especially Jim’s sudden action-hero turn) strain credibility. It’s not enough to derail the movie, but it does make you wonder what could’ve been with a bit more nuance in the final act. The movie also employs a ridiculous amount of shaky cam and fast cutting. Before you bite my face off, I know this is a choice and it adds to the chaos of the rage infected, but at some points my eyes genuinely started to hurt. It’s just personally a bit much for me.

Still, 28 Days Later is a landmark for a reason. It’s gritty, uncompromising, and feels like a genuine gut-punch to the apocalypse genre. Boyle didn’t just make a horror movie—he made a genuinely realistic take on how a situation like this would play out. It’s pretty great. Worth getting ripped of by some dude for a scratchy dvd that originally cost him 7.99 (he had the audacity to leave the price sticker on it). 

Probably yeah 🤷🏿‍♂️

Block or Report
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_b7828b96-15b0-4cc2-a5c8-27eb7aa58f18" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-b7828b96-15b0-4cc2-a5c8-27eb7aa58f18'; adUnit.className = 'pw-div -tile300x250 -alignleft -bottommargin'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'med_rect_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-b7828b96-15b0-4cc2-a5c8-27eb7aa58f18'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-b7828b96-15b0-4cc2-a5c8-27eb7aa58f18'));
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_f6ac8155-ec62-42c5-ba84-b324c3daf5af" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-f6ac8155-ec62-42c5-ba84-b324c3daf5af'; adUnit.className = 'pw-div'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'sky_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-f6ac8155-ec62-42c5-ba84-b324c3daf5af'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-f6ac8155-ec62-42c5-ba84-b324c3daf5af'));