Om Prakash Makhija (Shahrukh Khan) is a junior artist in the 1970s film industry. He and his friend Pappu (Shreyas Talpade) are trying to succeed in the film industry. Om's mother, Bela Makhija (Kirron Kher), inspires and encourages her son to become a success. He dreams of becoming a 'hero' one day on the big screen. He is in love with the country's heart throb and film actress, Shantipriya (Deepika Padukone), who is very successful and famous.
Om goes to the premiere of her upcoming film Dreamy Girl starring Shanti, and sneaks in claiming he is the actor Manoj Kumar. On another occasion, during a shooting of a film, where Om is acting as a junior artist, he notices Shanti is caught in the middle of a fire scene which goes out of control. Om jumps in and saves her, as no one else does. Shanti is very grateful and they become good friends.
Om asks her if she will meet him for one evening and she agrees. Om is ecstatic and plans a wonderful evening for her - using props and a film set and several backgrounds in a studio to woo her. He tells her that she deserves all the happiness in the world; all she has to do is ask. She tells him that she will and abruptly goes away, leaving Om confused.
The following day, Om tries to talk to Shanti on the sets of a film but she looks very preoccupied. He follows her into a make up room to talk to her, but ends up listening to her having an argument with top producer Mukesh Mehra (Arjun Rampal) about a recent promise of Mukesh's to marry a businessman's daughter in return for funding of a film. Om is shocked to hear that Shanti is actually secretly married to Mukesh, and both Om and Mukesh are surprised to learn that Shanti is pregnant with Mukesh's child. Mukesh is adamant that his relationship with Shanti be kept a secret, because if the industry finds out she is married, not only will her career be finished, but also his upcoming film Om Shanti Om, starring Shanti, that had just been promised to be financed by the businessman mentioned. If it is found out she is married, he is afraid she will become very unpopular and the funding will be cut. Shanti does not care and demands that they get married in public and make their relationship official. Mukesh finally relents and promises her they will make it public soon. Om is heartbroken at this situation and goes back home with a heavy heart.
One night, Om notices Mukesh escorting Shanti to the set of Om Shanti Om. He curiously waits outside, looking from afar but not being able to see inside or hear what was going on. Inside, Mukesh tells Shanti that for her happiness, he is going to cancel the film, reveal their marriage to the public, and have a grand wedding here in this spectacular set under the chandelier and then destroy the set after they have the marriage ceremony in it. Just as Shanti bursts out with disbelief and happiness, Mukesh shows his true colors. He displays his anger and frustration at Shanti's constant demands to make their relationship public. He holds her responsible for his financial loss, and cancellation of this film that could have made him a very rich man. Then, Mukesh Mehra pushes Shantipriya and he sets fire to the set of the film and walks out, leaving Shanti trapped inside. She begs and pleads to him to let him out but he walks away from the burning set. Om had to hurry because Shanti is running out of oxygen. Om witnesses Mukesh drive away and tries to save Shanti, but Mukesh's guards beat him up and try to stop him from reaching her. After they leave, though, Om is able to break into the set, but is unable to reach Shanti because the set explodes. Om, beaten, burned, and half dead, is hit by a car owned by Rajesh Kapoor (Javed Sheikh), a well-known actor who is rushing his pregnant wife (Asawari Joshi) to a hospital. Rajesh takes Om to the hospital as well, but he dies on the operating table. Moments later, Rajesh Kapoor's son is born, and unknowing of who the man he hit with his car was, Kapoor names his son Om. The rest of the movie is accelled 30 years, to the life of Om Kapoor who is the reincarnation of Om Prakash.
Om Kapoor is a popular movie star and lives an extravagant life. He suffers from intense pyrophobia, a remnant of his past life as Om Makhija, which is revealed when he is shooting for a song (Dard-e-Disco) in his movie.
During a location hunt for Om's next film, Om and his crew choose the remains of the burnt Om Shanti Om set. As soon as he sees the set, Om begins to remember bits of his past life. Not long after, he meets Mukesh Mehra, who has been a top Hollywood producer for the past 25 years. Om remembers his past life in full and has emotional reunions with Bela and Pappu.
To avenge Shanti's death, Om hatches a plan with Pappu and several others, deciding to remake the film Om Shanti Om with Mukesh (whom he convinces to produce the film). During the audition for Shanti's role, the crew meets Sandhya (nicknamed Sandy), a big fan of Om's who is a Shantipriya look-alike. Om and the crew train Sandy to play Shanti and then launch their plan: Om plays mind games with Mukesh by taking him to the restored set of Om Shanti Om and then having Sandy act like Shanti to make Mukesh think that Shanti has returned as a ghost. However, their plan backfires when Mukesh sees Sandy running away from the set and chases her. While running, Sandy cuts her arm on a lamp, revealing to Mukesh that Shanti has not returned and that Om was deceiving him.
Having discovered Om's plan, Mukesh confronts him and they begin to fight. Suddenly, Sandy appears and tells Om that the night when she died Mukesh came back for Shantipriya's body but she was alive and breathing and he buried her under the chandelier. When Mukesh tries to kill Sandy, Om takes Mukesh's gun and shoots him in the leg. Mukesh lands right under the chandelier under which he and Shanti were to be married; Om raises his hand to shoot Mukesh once and for all but Sandy stops him, and then motions upward, where the hanging chandelier is. As he looks up, the chandelier starts falling because the ghost forces the chandelier to fall upon the cursed one, and it crushes Mukesh, killing him. After Mukesh dies,Om looks at the ghost happily and the ghost cries. Om is shocked to see Sandy emerge with Pappu; it is then that he realizes that the "Sandy" that he and Mukesh saw was actually the ghost of Shantipriya. Om snaps his head back to where the ghost was and catches one more glimpse of her tearfully saying a last goodbye before she disappears up the staircase. The movie ends with all the stars of the movie come out of a limo as if they are going to a movie premiere. The last person to come is Farah Khan. When she comes out, nobody is there and people are cleaning up.