Ayushmann Khurrana stars as Akash, a talented blind musician living in Pune. He gets a gig as the piano player at trendy restaurant after the owner’s beautiful daughter, Sophie (Radhika Apte), runs into him with her scooter. The job puts Akash in touch with some high rollers, including former film star Pramod Sinha (Anil Dhawan). Pramod hires Akash to serenade him and his young wife Simi (Tabu) on their anniversary, and things don’t go as planned.

Raghavan’s script — co-written with Yogesh Chandekar, Hemanth Rao, and frequent collaborators Arijit Biswas and Pooja Ladha Surti (who also edited Andhadhun) — rewards fans of crime thrillers with familiar genre nods like femmes fatales and characters who aren’t what they seem. Yet the story veers in unexpected ways, forcing the audience into a giddy series of emotional pivots, from shock to uneasy chuckles to horror to hysterical laughter, all in a matter of seconds. It’s astonishing how well Andhadhun pulls this off.

Khurrana’s filmography is full of nice-guy roles, and the sympathy he inspires serves Akash well early on, before we discover that the pianist has his own secrets. His more complicated character contrasts with that of Sophie, who has the movie’s “sunshine role”, according to Ladha Sutri. A love scene between Akash and Sophie is wonderfully steamy despite its brevity.

Then there’s Tabu. She’s glorious in this, so much fun to watch as the ambitious trophy wife (who is shown at one point reading a book titled Anita: A Trophy Wife). She’s charming and chilling, and also hilarious as the movie’s main source of dark humor.

Raghavan and his co-writers ensure that every supporting character has their own clear motivations, which not only elevates the overall quality of the story, but makes it that much easier to get great performances from the whole cast. Ashwini Kalsekar is a laugh riot as the enthusiastic-but-out-of-the-loop wife of a police officer, played by Manav Vij.

Sound design plays a huge role in Andhadhun, as it has in Raghavan’s previous movies. Here, Raghavan expertly deploys tunes to shock the audience or punctuate a joke. Amit Trivedi’s terrific original songs are interspersed with Bollywood hits from the 1970s (ostensibly from the soundtracks of Pramod Sinha’s films).

Khurrana learned to play the piano well enough that cinematographer K. U. Mohanan could shoot Akash playing in full frame, instead of filming him from the chest up and inserting shots of a real pianist’s hands doing the playing. It’s an example of the cast & crew’s dedication that helps make Andhadhun so darned fun to watch.

Rahasya is a solid police procedural, with an intriguing pool of suspects in the murder of a teenage girl. Inspired by a real case, the movie elucidates the way ordinary secrets can come back to haunt us.

The mystery begins when the body of 18-year-old Ayesha Mahajan (Sakshi Sem) is discovered by the family maid, Remi (Ashwini Kalsekar). Sometime between 11 p.m. and 6:30 a.m., Ayesha was murdered in her own bedroom, her throat slashed.

It seems obvious to police Inspector Malwade (Nimai Bali) that Ayesha was murdered by her father, Dr. Sachin Mahajan (Ashish Vidyarthi). Dr. Mahajan was angry at discovering his daughter’s sexual relationship with a Muslim neighbor boy, Riyaz (Kunal Sharma), and he killed her in drunken fit of rage, Malwade assumes. Never mind that Riyaz is nowhere to be found, and that the other member of the household staff, Chetan (Manoj Maurya), also absconded during the night.

The case draws the interest of Central Bureau of Investigation agent Paraskar (Kay Kay Menon), who finds the answer offered by the police too convenient. Specifically, he doubts that Sachin could have slashed Ayesha’s throat so precisely given how drunk he was.

Paraskar’s investigation — with the help of his dutiful assistant, Parvez (Abhinav Sharma) — uncovers additional motives that shine the spotlight on everyone from staff members to neighbors. It also puts Paraskar in the crosshairs of the real killer.

Menon’s captivating performance is the main reason to watch Rahasya. Writer-director Manish Gupta knows this, so he employs closeups of Menon’s face liberally, encouraging the audience to focus on his star. Detective Paraskar’s initial quirkiness is short-lived, allowing the character to establish an identity distinct from all the Sherlock clones out there. He’s meticulous and principled, chasing down each lead while ignoring his wife’s suggestion to just take a bribe and be done with it.

The mystery itself is compelling, with each suspect and theory laid out in turn. Only during Paraskar’s final reveal do things slow down. Right when the audience wants the answers, director Gupta delays with flashbacks and interruptions by the suspects. It’s not a fatal flaw, but it is frustrating.

Gupta’s spin on a true crime story highlights the dangers of jumping to conclusions. While everyone is innocent until proven guilty, those with the strongest motives may be those you least suspect.

Bollywood loves its own history. Too many Hindi films cater to fans with a depth of Bollywood knowledge at the expense of newcomers to the genre, who feel left out of the inside jokes. The neo-noir thriller Johnny Gaddaar (“Johnny the Traitor“) avoids that trap, enthusiastically paying homage to the past while providing enough context to welcome Bollywood newcomers.

It helps that writer-director Sriram Raghavan really understands how and why stories work onscreen. That understanding manifests subtly in the two films he made after Johnny Gaddaar: Agent Vinod and Badlapur. In Johnny Gaddaar, his references are explicit, using clips from other movies to advance his own heist story.

“Johnny” is an alias used by Vikram (Neil Nitin Mukesh), junior member of a quintet that runs a gambling ring. Veteran crook Seshadri (Dharmendra) holds together the uneasy group, which consists of Vikram, casino owner Prakash (Vinay Pathak), financier Shardul (Zakir Hussain), and the crew’s muscle, Shivay (Dayanand Shetty).

Vikram breaks a cardinal rule by falling in love with Shardul’s wife, Mini (Rimi Sen). In order to get enough cash for the two of them to flee to Canada, Vikram decides to steal the money the group pooled for a deal with the corrupt policeman, Kalyan (Govind Namdeo).

Even though he’s the most educated member of the crew, Vikram is also the newest to a life of crime. He concocts a solid plan to steal the cash, going so far as to chloroform himself in order to time how long his victim will remain unconscious. Yet he lacks the wiliness of an experienced crook, and his plan goes wrong in ways he never anticipated.

The primary theme of the film is the danger of unintended consequences, not just the direct effects on one’s own life but the psychological damage incurred when one inflicts pain on others, intentionally or not.

Vikram and his gang aren’t violent. He doesn’t own a gun, and the others aren’t in the habit of carrying theirs with them. Shiva is a gentle giant. When Vikram experiences his first taste of violence, it disturbs him. Sadly, that first experience makes violence a possible response to future conflicts, in a way it never was before.

It helps that Mukesh — in his first film role — looks as young and slight as he does. He doesn’t appear the least bit tough. It’s easy to accept him as the naive character he plays.

There’s another theme in the film about the nature of love, namely that Vikram doesn’t know what real love is. How can he be sure of his feelings for Mini or her feelings for him when they developed under duress? Vikram protests to Seshadri that their love is real, and Seshadri just shrugs.

Seshadri is one of multiple examples of what true love is that Vikram ignores in pursuit of his affair. Widowed Seshadri reminisces while listening to a recording of his wife singing. Prakash dotes on his wife, Varsha (Ashwini Kalsekar), a proud working mom. Shiva has a sweet, budding romance with the nurse who cares for his ailing mother.

Shardul doesn’t seem like such a bad husband to Mini, at least by mafia-film standards. He comes home and wants to catch up on the day with his wife, but she can’t get away from him fast enough. Her disgust for him is so obvious that you almost feel bad for the guy.

Even Kalyan — who is the scariest character in the film — tries to warn Vikram about the danger he’s in. When Vikram confesses that his favorite actor is Amitabh Bachchan, Kalyan asks if Vikram has seen Parwana, a movie in which Bachchan plays an obsessed lover who resorts to murder when his beloved falls for another man. Of course, Vikram hasn’t seen the movie.

Clips from Parwana are interspersed throughout Johnny Gaddaar, along with snippets of other Bollywood and Hollywood films. For movie buffs, it’s fun to try to spot all of the references Raghavan includes in his movie. The references never derail the story, and Raghavan makes some explicit enough that even non-movie buffs can feel included (as when Seshadri says he feels like he’s in a scene from Scarface as the gang counts their loot).

Johnny Gaddaar is a balanced, solid thriller that feels like a love letter to films of the past. It’s worth watching just to see an early piece of work by a promising director.

For the first two hours, All The Best is a tolerable if uninspired slapstick comedy. But, due to the movie’s racist final scene, it’s not worth watching.

The movie focuses on aspiring rock star Vir (Fardeen Khan), who lives off of the largess of his globe-trotting step-brother, Dharam (Sanjay Dutt). In order to get a larger monthly allowance from Dharam, Vir tells his brother that his girlfriend, Vidya (Mugdha Godse), is actually his wife.

Since the two brothers rarely see each other, the lie goes unchallenged until Dharam lands in town for a layover on his way to the small African country of Lesotho. The layover turns into an extended stay when the country experiences a military coup.

Vir turns to his best friend, Prem (Ajay Devgan), for help. Since this is a comedy, all of Prem’s ideas to deceive Dharam make things worse, especially when Dharam mistakes Prem’s wife, Jhanvi (Bipasha Basu), for Vir’s pretend wife, Vidya.

The bulk of the humor centers on mistaken identities and the friends’ attempts to keep the truth from hot-tempered Dharam. Basu and Ashwini Kalsekar, who plays Vir’s maid, Mary, are the most successful at generating laughs.

But All The Best falls back on the same cliche seen in many recent Bollywood comedies: gangsters. If one were to form an impression of modern India based solely on Hindi cinema, India would seem as overrun with gangsters as Chicago was in the 1920s, only with the gangsters more inept and less threatening than their American predecessors.

The most pathetically unfunny of the bunch is Topu (Johny Lever), the mute gang leader. He communicates with his lackeys by banging a spoon against a glass, as though he were trying to get a newly-married couple to kiss at their wedding reception. It’s the stupidest gimmick since the mute villain in Karzzzz, who communicated via a musical keypad on his wrist.

Such lame gimmicks might be forgivable, if not for the movie’s final scene, involving several characters from Lesotho. They speak in something that’s supposed to sound like Swahili, even though Swahili isn’t an official language of Lesotho. I can’t prove it, but I’m guessing the filmmakers didn’t spring to hire an actual Swahili translator, and that the words are just gibberish that’s supposed to sound “African.” [Update: A kind Access Bollywood reader, Samuel, let me know that the language is in fact Swahili.]

If that weren’t insulting enough, three of the characters are Indian actors — including Bipasha Basu — in blackface make up. Coming just a few weeks after American musician Harry Connick Jr. took an Australian comedy troupe to task for the same offense, All The Best‘s racist attempt at humor comes off as particularly crude.

For Indian cinema to be taken seriously in the rest of the world, it needs to drop these outdated, racist jokes. Bollywood’s top stars need to lead the way. Bipasha Basu should have refused to perform the scene in blackface, just as Akshay Kumar should’ve said no to his blackface scene in Kambakkht Ishq.