On Christmas Eve, 1944, somewhere in Europe, two World War II U.S. Army soldiers, one a Broadway entertainer, Captain Bob Wallace (Bing Crosby), the other an aspiring entertainer, Private Phil Davis (Danny Kaye), perform for the 151st Division. But word has come down that their beloved commanding officer, Major General Thomas F. Waverly (Dean Jagger), is being relieved of command. He arrives for the end of the show and delivers an emotional farewell. The men give him a rousing send-off ("The Old Man").
After the war, Bob and Phil make it big in nightclubs, radio, and then on Broadway, eventually becoming successful producers. They mount their newest hit musical titled Playing Around. The same day they receive a letter from "Freckle-Faced Haynes, the dog-faced boy," their mess sergeant from the war, asking them to look at an act that his two sisters are doing.
When they go to the club to watch the act ("Sisters"), Phil notices that Bob is smitten with Betty (Rosemary Clooney), while Phil has eyes for her sister, Judy (Vera-Ellen). Betty and Judy join Bob and Phil at their table, and Phil dances with Judy so that Bob and Betty can get to know each other. Phil and Judy hit it off ("The Best Things Happen While You're Dancing").
Judy and Betty head for the Columbia Inn in Pine Tree, Vermont, where they are booked to perform over the holidays. Phil gives the sisters his and Bob's sleeping-room accommodations aboard the train to Vermont.
When the train arrives in Pine Tree, there's not a snowflake in sight, and chances of it falling appear dim. Bob and Phil discover that the inn is run by their former commanding officer, General Waverly. Waverly has invested all of his savings into the lodge, which is in danger of failing because there's no snow and thus no guests. To bring business to the inn, Bob and Phil bring the entire cast and crew of their musical Playing Around, and add in Betty and Judy. Bob and Betty's relationship blooms ("Count Your Blessings") and they spend a good deal of time together. Meanwhile, Bob discovers the General's request to rejoin the army has been rejected. He decides to prove to the General that he isn't forgotten.
Bob calls Ed Harrison (Johnny Grant), an old army buddy, now a successful variety show host, to arrange a televised invitation to all the men formerly under the command of the General to come to the inn on Christmas Eve as a surprise. In response, Harrison suggests they go all out and put the show on national television to generate free advertising for Wallace and Davis. Unbeknownst to Bob, nosy housekeeper Emma Allen (Mary Wickes) was eavesdropping, but she only heard the part about free advertising, not Bob's rejection of the idea.
Mistakenly believing that her beloved boss will be portrayed as a pitiable figure in a nationwide broadcast, Emma reveals what she heard to a shocked Betty. The misunderstanding causes Betty to grow suddenly cold toward a baffled Bob. Meanwhile, Judy becomes convinced that Betty will never take on a serious relationship until Judy is engaged or married. She pressures a reluctant Phil to announce a phony engagement, but the plan backfires when Betty abruptly departs for New York City to take a job offer.
Phil and Judy reveal to Bob that the engagement was phony, and Bob, still unaware of the real reason behind Betty's coldness, follows Betty to New York. Bob sees Betty's new act ("Love, You Didn't Do Right by Me") and reveals the truth about the engagement, but is called away by Ed Harrison before learning what is really bothering her. Back at the Inn, Phil fakes an injury to distract the General so he won't see the broadcast of Bob's announcement.
On the broadcast, Bob invites veterans of the 151st Division to come to Pine Tree, Vermont, on Christmas Eve ("What Can You Do with a General"). Betty catches Bob's televised pitch and realizes she was mistaken. She returns to Pine Tree in time for the Christmas Eve show. When the General enters the lodge, he is greeted by his former division, who sing a rousing chorus of "The Old Man." Just as the following number ("Gee, I Wish I Was Back in the Army") ends, he learns that snow is finally falling.
In the finale, Bob and Betty declare their love for one another, as do Phil and Judy. The background of the set is removed to show the snow falling, everyone raises a glass, and toasts, "May your days be merry and bright; and may all your Christmases be white."
Output: What day does the story begin on?