Sue (Jane Lynch) recruits the glee club to sing at a homeless shelter where she will be volunteering to distract her from the first Christmas without her sister Jean, who died earlier in the year. Rachel (Lea Michele) gives Finn (Cory Monteith) a long list of Christmas present suggestions. Finn is appalled by how much Rachel wants, although she tells him five items are plenty. When she later hints that an early gift would not be amiss, he surprises her with the donation of a sow in her name to needy Africans. Rachel is unhappy, reminds Finn that she is a vegan, and recommends that he stick to her list to avoid embarrassment, while pointedly mentioning earrings.

New Directions celebrates the holidays as Mercedes (Amber Riley) sings "All I Want For Christmas Is You". Rory (Damian McGinty) dedicates the song "Blue Christmas" to his family; this is his first Christmas away from them. Sam (Chord Overstreet) offers to take Rory home with him to show him a true American Christmas. Glee club director Will Schuester (Matthew Morrison) announces that New Directions has been asked to create a holiday special for the local PBS station, with Artie (Kevin McHale) as director. The station manager agrees to Artie's concept—a black-and-white homage to both The Star Wars Holiday Special and the Judy Garland Christmas Special, to feature hosts Kurt (Chris Colfer) and Blaine (Darren Criss) welcoming their friends for suave banter and happy, cheerful songs. Rory will play Itchy the Holiday Elf and recite "Frosty the Snowman". Sam points out that "Frosty" does not have a happy ending, and that a little sadness is also part of Christmas. Artie only wants to present the "merry" part and will be rewriting Frosty to fit, so Sam decides not to participate. Sue interrupts a rehearsal for the show to reconfirm that New Directions will be singing at the homeless shelter on Friday, but the special is also set for Friday. Artie asks to reschedule, but Sue says they are already expected and is adamant: it must be Friday night. The club members decide to do the broadcast, and Sue leaves in disgust.

Kurt and Blaine lead off the Glee Holiday Spectacular by performing "Let It Snow", Rachel and Mercedes arrive and sing "My Favorite Things" with their hosts, Finn and Puck (Mark Salling) show up as not-quite-real Star Wars characters and perform "Santa Claus Is Coming to Town", and "Christmas Wrapping" is sung by Brittany (Heather Morris), with backup by Santana (Naya Rivera), Tina (Jenna Ushkowitz), Mike (Harry Shum, Jr.) and several Cheerios. When Rory as Itchy arrives, the others are dismayed when he says he will not be reading "Frosty the Snowman"; he instead reads the biblical nativity story from the Gospel according to Luke.

Quinn (Dianna Agron) and Sam are at the homeless shelter with Sue, helping to serve the rapidly disappearing meal, when New Directions arrives, late, with more food and some presents. The glee club sings "Do They Know It's Christmas?" for the people there. Back at McKinley, Rachel has a change of heart and names Finn's gift sow "Barbra". Finn does give her the earrings she wanted, but she ultimately returns them and he returns the iPod she gave him: they donate the money to the Salvation Army kettle manned by Sam and Rory, and stay to help.

Information from Wikipedia