마크 렌턴(이완 맥그리거 분)은 에딘버러의 거리에서 두 명의 상점 감시자들에게 쫓기고 있다. 자켓에 넣어둔 훔친 물건들이 바닥에 떨어진다. 렌턴은 ‘성실하면서도 진실한 마약 취미’와 제멋대로 세상을 살아가는 친구들이었다. 벡비(로버트 칼라일 분)는 애인을 위협할 정도로 난폭한 알콜 중독자지만 마약은 손대지 않는다. 스퍼드는 구제 불능이긴 하지만 상냥한 성격의 헤로인 중독자다. 부드러운 매너로 여자들을 잘 챙기려 애쓰는 식 보이(자니 리 밀러 분)는 숀 코너리에 관한 한 백과사전이다. 자신의 습관을 조절할 줄도 알며, 유독 최고를 지향하기도 한다. 토미는 노력하는 형이다. 마약은 손대지 않으며, 산에 오르기를 좋아하고, 이기 팝에 강한 집착을 보인다. 토미와 교제하는 릿지, 스퍼드와 사귀는 게일, 누군가의 아이를 배지 않은 사람과는 사귀지 않는 앨리슨 등도 주변에 등장한다.
렌턴은 마약을 끊겠다고 결심한다. 처음은 아니다. 식 보이도 마약을 끊기로 한다. 스스로 원해서는 아니고, 렌턴이 괴로워하는 것을 보기 위해서다. 두 사람은 공기총을 들고 함께 개 사냥 놀이에 나선다. 마약을 끊은 렌턴은 면접 통지서를 받는다. 중요한 사항이다. 성실하게 노력하는 표정을 면접장에서 보이지 못하면 실업 수당이 끊기게 되지만, 잘만 하면 일자리를 얻을 지도 모른다. 아슬아슬한 줄타기다. 결국 면접을 당당하게 포기한 렌턴과 스퍼드(이완 브렘너 분)는 한잔하기 위해 친구들을 만난다. 벡비는 자기가 입원시킨 새 친구에 대한 이야기를 하다가 술잔을 내던지며 싸움을 벌인다. 렌턴 패거리는 디스코텍으로 향한다. 헤로인은 렌턴의 성충동을 약화시켰지만, 이제는 강력하게 부활했다. 마약을 끊은 뒤 살아난 엄청난 리비도에 알콜과 암페타민까지 가세, 그를 걷잡을 수 없는 지경으로 몰고 간다. 이때 그는 다이앤(켈리 맥도날드 분)을 만난다. 매력적인 다이앤은 성의 노예가 된 렌턴을 동정, 집으로 데려가 하루밤을 재워준다. 아침에 일어난 렌턴은 부엌에 있던 남녀가 옆방 사람들이 아닌 부모들이라는 것과, 다이앤이 교복을 입고 현관에 서 있는 모습을 보게 된다. 한편 게일은 한 달이상 빼다가 결국 스퍼드와 동침하기로 한다. 그러나 그는 제대로 해보기도 전에 침대에서 곯아떨어지고 마는데.
[스포일러] 토미는 릿지와는 관계를 갖지 못했다. 둘의 성행위를 촬영해서 만든 비디오가 없어져버렸기 때문이다. 실은 렌턴이 슬쩍한 것이다. 여자 친구와 싸우고 상심한 토미는 친구들을 부추켜 시골로 나간다. 사실 토미는 렌턴에게는 마지막 남은 지푸라기 같은 존재였다. 그러나 토미는 가능한 빨리 마약을 다시 시작하겠다는 결론을 내린다. 결국 릿지는 비디오 사건으로 토미 곁을 떠나버렸다. 우울해진 토미는 렌턴에게 자기도 헤로인을 맞게 해달라고 조르고, 이렇게 하여 마약에 빠져들게 된다.
이들이 마약을 주사맞는 동안 앨리슨의 아기가 죽는다. 아기가 혼자 돌아다니다가 마약을 집어먹었기 때문이다. 일은 설상가상. 렌턴과 스퍼드는 상점을 털다 걸리고, 스퍼드는 구속됐다. 렌턴은 치료 프로그램에 참여하는 것을 조건으로 풀려난다. 렌턴은 한 방의 주사가 아쉽다. 과잉 복용한 그를 택시가 병원 앞에 버리고 간다. 렌턴의 부모는 그를 집으로 데려가 침실에 가둔다. 그는 앨리슨의 죽은 아기가 천장을 기어 다니는 환각에 시달린다. 렌턴은 에이즈 검사를 받는다. 열병에 걸린 그에게는 모든 것이 게임쇼 같기만 하다. 주사 바늘을 돌려 쓰긴 했지만 기적적으로 렌턴에게는 에이즈 바이러스 양성 반응이 나타나지 않았다. 렌턴의 부모는 기뻐해야 할 일이라고 그에게 말한다. 당연하겠지. 그러나 부모의 친구들이 사교 클럽에서 빙고 게임을 즐기는 것을 지켜보는 렌턴은 결코 그렇게 생각할 수 없다.
렌턴은 토미를 찾는다. 여자친구 릿지와 옛날에 깨끗하게 간수했던 방은 지금 엉망이 되어있다. 토미는 마약을 사기 위해 집기들을 거의 처분한 상태였다. 누구와도 사귀지 않고, 축구팀을 지원하는 것도 중단했다. 그는 렌턴에게 돈을 빌려달라고 한다. 렌턴은 자리를 피해야겠다고 생각하고 런던으로 향한다. 런던의 부동산 업자 밑에서 일자리를 얻게 된다. 그러나 렌턴은 친구들을 피할 수 없었다. 벡비는 강도질을 하고 경찰에 쫓기다가 렌턴의 방에 머무르게 된다. 식보이도 일거리를 찾다가 렌턴과 합류한다. 렌턴은 팔려나가지 않은 방에 벡비와 식보이를 머무르게 한다. 그러나 사장이 손님들과 함께 방을 보러오자, 벡비가 이들을 폭행하는 바람에 세 친구는 다시 북부로 도망치게 된다.
다른 이유도 있었다. 결국 마약에 찌들어 죽고만 토미의 장례식 때문이었다. 장례식이 끝나자 식 보이는 러시아 선원들로부터 많은 양의 마약을 싸게 산 다음 런던에서 팔아 돈을 벌 수 있다고 친구들에게 말한다. 몇 차례의 설득에 렌턴도 동의한다. 벡비, 렌턴, 식보이, 스퍼드는 밤차를 타고 런던으로 가 장사를 시작, 마약을 팔아치우는데 성공한다. 큰 돈을 벌어 술집에서 한창 흥청망청하던 중, 벡비는 술을 엎지른 남자와 술집에서 싸움을 벌인다. 호텔로 다시 돌아와 친구들이 모두 잠든 틈에 렌턴은 벡비의 팔 밑에 있던 꽉 찬 돈가방을 빼낸다. 스퍼드는 눈을 뜨고, 이를 목격하지만 아무 말도 하지 않는다. 렌턴과 그는 서로 바라보지만 아무 말도 없다. 렌턴은 거리로 나서고, 광란하는 벡비를 체포하기 위해 경찰이 호텔에 들이 닥친다. 렌턴은 마침내 친구들로부터 벗어났다. 거리의 수많은 군상들 속에서 돈가방을 꼭 붙드는 것도 잊어버린다.