Set in 1960s Bombay, the film tells the story of a boxer, Johnny Balraj (Ranbir Kapoor), and an aspiring jazz singer, Rosie (Anushka Sharma), and how their hopes and dreams collide with their individual realities.
- Ranbir Kapoor as Johnny Balraj, a boxer/street-fighter
- Anushka Sharma as Rosie Noronha, a jazz singer
- Karan Johar as Kaizad Khambata, a flamboyant, quick-witted, Parsi media mogul with a high-end attitude
- Kay Kay Menon as Inspector Kulkarni, a detective
- Manish Choudhary as Jimmy Mistry, a newspaper editor
- Siddhartha Basu as Romi Patel
- Remo Fernandes as a Portuguese man
- Satyadeep Misra as Chimman, Balraj's friend
- Vivaan Shah as Tony, Noronha's chauffeur
- Mukesh Chhabra
- Raveena Tandon (cameo)