Vijay (Guru Dutt) is an unsuccessful poet whose works are not taken seriously by publishers or his brothers (who sell his poems as waste paper). Unable to bear their taunting that he is a good-for-nothing, he stays away from home and is often out on the streets. He encounters a good-hearted prostitute named Gulabo (Waheeda Rehman), who is enamoured with his poetry and falls in love with him. He also encounters his ex-girlfriend Meena (Mala Sinha) from college and finds out that she has married a big publisher Mr. Ghosh (Rehman) for financial security. Ghosh hires him as a servant to find out more about him and Meena. A dead beggar to whom Vijay gave his coat and whom he tries to save unsuccessfully from the path of a running train is mistaken for Vijay. Gulabo goes to Ghosh and gets his poems published. Ghosh does so feeling he can exploit the poems and make a killing. The poems are very successful. However, Vijay is alive and in the hospital after the train mishap. Ghosh and Shyam, Vijay's close friend, refuse to recognise him and he is committed to a mental asylum since he insists he is Vijay and is thought to be mad. Vijay's brothers too are bought off by Ghosh not to recognize him and a memorial is held for the dead poet. Vijay with the help of his friend Abdul Sattar (Johnny Walker) escapes from the mental asylum and reaches the memorial service where he denounces this corrupt and materialistic world. Seeing that Vijay is alive his friend and brothers take side with a rival publisher for more money and declare this is Vijay. At a function to honour him, Vijay becomes sick of all the hypocrisy in the world around him and declares he is not Vijay. He then leaves with Gulabo to start a new life.