Il film inizia la vigilia di Natale del 1944, da qualche parte in Europa. È la seconda guerra mondiale. Crosby e Kaye interpretano due soldati dell'esercito americano. Crosby interpreta il capitano Bob Wallace e Kaye il soldato di prima classe Phil Davis. Bob è un intrattenitore di Broadway, Phil vuole diventare un intrattenitore professionista. Si esibiscono in "White Christmas". Il loro ufficiale comandante, il maggiore generale Thomas F. Waverly viene sollevato dal suo comando. Arriva per la fine dello spettacolo e li saluta.
Dopo lo spettacolo tutti sono costretti a ripararsi da un bombardamento aereo. Una bomba fa cadere un muro. Bob è troppo occupato a gridare ordini per accorgersene. Phil lo spinge via e si ferisce al braccio. Bob più tardi visita Phil in un ospedale da campo e lo ringrazia per avergli salvato la vita. Phil mostra a Bob un duetto che ha scritto e gli chiede di esibirsi con lui a New York City. Sentendosi obbligato dall'eroismo di Phil, Bob accetta.
Dopo la guerra, Bob e Phil sfondano nei nightclub, alla radio e poi a Broadway, diventando alla fine produttori di successo. Montano il loro nuovo musical di successo intitolato Playing Around. Lo stesso giorno ricevono una lettera da "Freckle-Faced Haynes, il ragazzo dalla faccia di cane", il loro sergente di mensa durante la guerra, che chiede loro di dare un'occhiata ad uno spettacolo che le sue due sorelle stanno facendo.
Vanno al club per vedere le "Sorelle" recitare. Phil nota che a Bob piace Betty, interpretata da Rosemary Clooney. A Phil piace sua sorella Judy, interpretata da Vera-Ellen. Betty e Judy si uniscono a Bob e Phil al loro tavolo. Phil balla con Judy. Phil e Judy vanno d'accordo. Bob e Betty non vanno d'accordo. Hanno una piccola discussione su come Bob pensi che tutti abbiano un punto di vista nel mondo dello spettacolo.
Judy e Betty sono dirette al Columbia Inn di Pine Tree, nel Vermont, dove sono prenotate per esibirsi durante le vacanze. A causa di un disaccordo con il loro padrone di casa le ragazze devono partire. Phil dà alle sorelle la sua stanza da letto e quella di Bob sul treno. Ritardano lo sceriffo imitando le ragazze e cantano la loro canzone, "Sisters". Bob e Phil salgono a bordo più tardi e Bob è estremamente turbato dal fatto che debbano stare svegli tutta la notte nel vagone ristorante mentre vanno a NYC. Vengono raggiunti da Betty e Judy, che li ringraziano profusamente per i biglietti e li convincono a venire con loro a Pine Tree.
Quando il treno arriva a Pine Tree, non c'è neve. Bob e Phil scoprono che la locanda è gestita dal loro ex comandante, il generale Waverly. Waverly ha investito tutti i suoi risparmi nella locanda. Sta fallendo perché non c'è neve e non ci sono ospiti. Per portare affari alla locanda, Bob e Phil portano l'intero cast e la troupe del loro musical Playing Around. Aggiungono Betty e Judy alle prove. La relazione di Bob e Betty fiorisce e passano molto tempo insieme.
Bob scopre che la richiesta del generale di rientrare nell'esercito è stata respinta. Bob chiama Ed Harrison, un vecchio compagno d'armi. Ed è ora un presentatore di varietà di successo. Organizzano un invito televisivo a tutti gli uomini precedentemente sotto il comando del Generale per venire alla locanda la vigilia di Natale come sorpresa. Harrison suggerisce di mettere lo spettacolo sulla televisione nazionale per generare pubblicità gratuita per Wallace e Davis. Bob insiste che non deve avere nulla a che fare con i loro affari.
La governante ficcanaso Emma Allen ha ascoltato, ma ha sentito solo la parte sulla pubblicità gratuita, non il rifiuto dell'idea da parte di Bob. Pensa che il suo capo sarà visto come una figura pietosa in TV e lo dice a Betty. Betty è scioccata. Il malinteso fa sì che Betty ignori un Bob sconcertato. Mentre questo accade, Judy si convince che Betty non avrà mai una relazione seria finché Judy non sarà fidanzata o sposata. Fa pressione su un riluttante Phil per annunciare un finto fidanzamento, ma il piano si ritorce contro quando Betty parte improvvisamente per New York City per accettare un'offerta di lavoro.
Al termine delle prove, Phil e Judy rivelano a Bob che il fidanzamento era fasullo. Bob non sa ancora il vero motivo per cui Betty se n'è andata. Va a New York per il The Ed Harrison Show. Cerca di convincere Betty a tornare. Bob vede il nuovo numero di Betty e le dice la verità sul fidanzamento. Viene chiamato da Ed Harrison prima che scopra cosa la preoccupa veramente.
Alla locanda, Phil finge un infortunio per distrarre il generale in modo che non veda la trasmissione dell'annuncio di Bob. Nella trasmissione, Bob invita i veterani della 151a Divisione a venire a Pine Tree, Vermont, la vigilia di Natale. Betty lo vede in TV e capisce di essersi sbagliata. Torna a Pine Tree in tempo per lo spettacolo della vigilia di Natale, ma lo dice solo a Judy. L'intera divisione arriva a Pine Tree in segreto. Quando il Generale entra nella loggia, viene accolto dalla sua ex divisione, che canta un coro entusiasmante di "The Old Man". Proprio mentre la canzone seguente finisce, la neve inizia a cadere.
Nel finale, Bob e Betty si dichiarano il loro amore. Lo stesso fanno Phil e Judy. Lo sfondo del set viene rimosso per mostrare la neve che cade. Bob, Betty, Phil e Judy eseguono "White Christmas". Tutti alzano un bicchiere e brindano, "Che i vostri giorni siano felici e luminosi; e che tutti i vostri Natali siano bianchi".