Hair is a musical focusing on the lives of two young men in the Vietnam era against the backdrop of the hippie culture.
Claude Hooper Bukowski (John Savage) is a naive Oklahoman sent off to see the sites of New York before beginning his enlistment in the Army. On his arrival he observes a group of hippies lead by George Berger (Treat Williams) begging for change from a trio of horseback riders. Later Claude catches the runaway horse the hippies have rented and uses it to show off his riding skills to one of the trio of strangers--an upper class débutante. While returning the horse to the hippies, Claude accepts their invitation to be shown around.
In the course of an evening Claude gets stoned then is introduced to the race and class issues of the 1960's. On the morning after, George finds a scrap of newspaper identifying the mysterious girl. The group including Hud (Dorsey Wright), Jeannie (Annie Golden) and Woof (Don Dacus) crash a private party where the girl--Sheila Franklin (Beverly D'Angelo)--secretly enjoys the disruption of her rigid environment. After the group is arrested, Claude uses the only money he has to pay George's fine so that George can find the funds to get the rest of them released. Meanwhile, at the prison, Woof's refusal to have his hair cut leads into the title song.
Unsuccessful at convincing Sheila to get the funds from her father, George returns to his parents' home and is able to convince his mother to give him enough money to have the others released. For their next adventure, the group attends a peace rally in Central Park where George drops acid. When Jeannie proposes they get married to keep George out of the Army and Sheila shows up to apologize, Claude's "trip" reflects his internal conflict over which world he belongs in--his own native Oklahoman farm culture, the upper class society of Sheila or the free-wheeling world of the hippies.
When his trip is over, Claude and the hippies have a falling out over both a mean trick they pull on Sheila (taking her clothes while she's skinny-dipping) and their philosophical differences over the war in Vietnam and personal versus community responsibility. In the end Claude goes through with his original plan and reports to the draft board. He begins his enlistment in the Army and makes it through basic training.
When Claude writes to Sheila from his training camp, she seeks out George and his group to share the news. George begins to cook up a scheme to visit Claude in Nevada. Enter Hud's finance (Cheryl Barnes), who wants him to return to their life together with his son, LaFayette Jr. (Rahsaan Curry). Tricking Sheila's brother Steve (Miles Chapin) out of the family car, the hippies, Sheila and Hud's finance head west and try to enter the training camp to visit Claude.
Turned back at the guardpost, George's next scheme has Sheila chat up Fenton (Richard Bright), an Army Sergeant, at a local bar. Luring him out a back country road with intimations of sex, Sheila helps the group relieve him of his uniform and his car. Using both, George infiltrates the Army base, finds Claude and reveals himself. When Claude refuses to leave for fear of being found missing during a headcount, George schemes to take his place long enough for Claude to visit with the others waiting in the desert.
While Claude is away, the base, which has been on alert, becomes fully activated with immediate ship-outs to Vietnam. George, unwilling to reveal the Claude is AWOL, boards the plane to Vietnam in Claude's stead. Claude arrives too late to slip back into his place.
Cut to Arlington Cemetery and George's headstone and the song "Let the Sun Shine In". As the song continues, the movie closes with crowd shots of a full scale peace protest in Washington.