James (Luke Treadaway) ist ein Ex-Junkie auf Entzug und hält sich mit seinem mageren Einkommen, das er als Straßenmusiker verdient, gerade so über Wasser. Er wohnt in einer kleinen Sozialwohnung im Londoner Stadtteil Hackney, die ihm die engagierte Betreuerin Val (Joanne Froggatt) vermittelte. Eines Tages findet James einen völlig abgemagerten und verletzten Kater vor seiner Tür und obwohl er knapp bei Kasse ist, beschließt James den kleinen Vierbeiner, der von der netten Nachbarin Betty (Ruta Gedmintas) den Namen Bob verpasst bekommen hat, bei sich aufzunehmen und aufzupäppeln. Als der Kater wieder fit ist, möchte James ihn eigentlich wieder in die Stadt entlassen, doch Bob hat darauf keinen Bock und bleibt lieber bei seinem neuen Herrchen. Er folgt ihm auf Schritt und Tritt und bringt so das Leben von James gehörig durcheinander. Mensch und Kater werden mit der Zeit unzertrennliche Freunde und dank dem anhänglichen Fellknäuel findet James nach und nach wieder zurück ins Leben…