Craig Schwartz (JOHN CUSACK) is a down on his luck artist whose sexually charged street puppet shows are more likely to result in him being punched out than receiving grateful applause. Things aren't much better at home where his marriage to Lotte (CAMERON DIAZ), a pet store employee who literally brings home her work in the form of chimps and other critters, lacks any spark or true love.
Sensing the need for a change and a way to make some money, Craig takes a job as a filing clerk for LesterCorp, a small company located on the 7½ floor of a Manhattan high-rise. It's run by Dr. Lester (ORSON BEAN), an older man who thinks he has a speech impediment since his "executive liaison," Floris (MARY KAY PLACE), misunderstands everything everyone says, and only offers one true piece of incentive for Craig.
And that's Maxine (CATHERINE KEENER), a straight-shooting, drop-dead beauty who wants nothing to do with Craig, especially when she learns that he's a puppeteer. Yet, Craig continues trying to impress her despite already being married and Maxine's continually brushing him off.
Things change for Craig, however, when one day he discovers a small door hidden behind a filing cabinet. Making sure that no one else sees what he's doing, Craig cautiously opens the door and then proceeds down the long tunnel behind it. Suddenly the door slams shut and he's sucked down the tunnel and into the head of actor John Malkovich (JOHN MALKOVICH).
Able to see, hear and feel everything that Malkovich does, Craig is forever changed by the experience that lasts only fifteen minutes before unceremoniously dropping him alongside the Jersey turnpike. Excited about the discovery, Craig tells Maxine, who sensing a profitable venture, decides to join forces with Craig and charge "tourists" several hundred dollars for fifteen minutes of being John Malkovich.
Soon, the activity becomes quite popular, especially between Maxine and Lotte who develop a lesbian love affair of sorts with Maxine seducing Malkovich while Lotte's inside his head. As Craig then competes with Lotte for Maxine by starting to control Malkovich's actions, the actor slowly begins to figure out what's going on. From that point on, a great battle ensues with many people trying to control, and thus be, John Malkovich.