Plays, like musicals, often depend on a moment of ecstasy. One occurs at the end of Tanika Gupta's drama, when Abdul Karim, the aged Queen Victoria's Hindi teacher, says that since she can't go to India he will bring India to her. Suddenly the stage becomes a kaleidoscope of song and dance, as tiny paper boats are set ablaze on water, suffusing the theatre with pure transcendent joy.

Until that point, I found Gupta's play informative rather than revelatory. Her theme is the sense of unearned moral superiority that came with empire and, to that end, she intertwines two stories in late Victorian London. One concerns Karim, who, though adored by the Queen, was brutally snubbed by her courtiers; the other involves Rani, a Bengal ayah, who is ditched by her employer on arrival at Tilbury and survives through her own resourcefulness. I learned a lot about the plight of Victorian Asians, but Gupta never really explores the source of the Queen's attachment to Karim, and the dialogue rarely rises above the functional. I never thought to hear again a line, here uttered by a boarding-housekeeper to an Indian sailor, like: "You men, you're all the same."

But Emma Rice, as director, brings to the RSC the techniques she has developed at Kneehigh: above all, the easy integration of song – ranging from popular shanties to Anglican hymns – into swift-moving action. She is also blessed with a fine cast. Anneika Rose as Rani visibly matures from naive 16-year-old to wittily accomplished woman, while Beatie Edney captures all the truculent determination of an increasingly outflanked Queen. There is good work from Tony Jayawardena as the grandiose Karim, and from Vincent Ebrahim who endows the first Indian to be elected an MP with a dignified anger. Although Gupta's play records the rage felt at the injustices of imperial domination, it is the sight of those burning boats I shall remember best.