To recreate this narrative, we used witness accounts, shared either directly with CNN or with friends and family who recounted them to us. We also used information from news briefings and gathered by CNN staffers in London, Hong Kong, Dhaka and Atlanta.

The college student who wouldn't leave his two friends behind. Eight people hiding in a tiny, sweltering bathroom. A cook, strapped to a chair with explosives. They were among those trapped for hours by armed gunmen Friday inside a cafe in Dhaka, Bangladesh.

Dhaka, Bangladesh (CNN) -- The heat inside was stifling.

The restroom wasn't meant to hold eight people. But there they were in the second-floor bathroom of the Holey Artisan Bakery, crouched in fear, unable to breathe.

Hours earlier, one of the gunmen, who'd been unleashing hell on the floor below, had walked up to the door.

"If you're Bengalis, come out," he shouted. They didn't answer.

"If you're Muslims, come out," they heard. They didn't answer.

The gunman, thinking no one was inside, locked the door. The people inside may have eluded the attacker. But they were certain they would all suffocate to death.

Bangladeshi security personnel stand guard outside the Holey Artisan Bakery.

'This was our baby'

The Holey Artisan Bakery began life two years ago, born from a wife's longing for "real bread" and a husband who made it happen.

Its bagels and croissants came at a price — steeper than the average Bangladeshi could afford, but not more than the wealthy were willing to pay.

The restaurant sits in Gulshan, one of Dhaka's most affluent neighborhoods, mere steps from many of the embassies that make up Dhaka's diplomatic enclave.

Its walled garden offers a clear view of the nearby Gulshan Lake and makes it a popular destination for parents with kids, expats with pets and diplomats who delight in its authentic, store-spun pasta.

"This was our baby," said Ali Arsalan, one of its co-owners. "We started it so we could offer people a little break from the everyday, a little joy."

Rescuers carry an injured man outside the restaurant.

A reunion, and a birthday

On most nights, Arsalan would have been in the restaurant during its peak dinner hour. But Friday was slow. He picked up pizza and dessert and meant to return later with a pair of maternity trousers for the Italian chef whose wife was pregnant. Then he changed his mind. It could wait, he decided.

By 8:30 p.m., the pace had picked up. In all there were about 20 guests, catered to by a staff of about that many.

Faraaz Hossain was catching up with two friends, Abinta Kabir and Tarishi Jain. They all went to school in the U.S. but were either visiting family in Bangladesh or there on internships.

I can never guarantee the safety of everyone again. Ali Arsalan

Hasnat Karim had brought his family to celebrate his youngest child Rayan's eighth birthday.

Makoto Okamura, engaged and soon to be married, was dining with six other Japanese nationals.

Simona Monti, seven months pregnant, was returning home soon to Italy to deliver her baby and was saying farewell to friends.

Hasnat and his family would live to see the dawn. The others would not.

From left to right: Abinta Kabir, Faraaz Hossein and Tarishi Jain.

Escape from the roof

It was around 8:45 p.m. when the gunmen entered. Waiter Diego Rossini remembers because he'd just taken an order and was headed to the kitchen.

The six men, dressed in jeans and T-shirts, burst through the door. They stood with their backs to each other and fired indiscriminately as they shouted "Allahu Akbar!" or "God is great."

Customers dove under tables and chairs. Staffers scampered for safety.

Rossini bolted upstairs. Several restaurant employees, also familiar with the restaurant's layout, ran with him.

He jumped to the roof of a neighboring building. He hurt his spine and lay there for hours. But he escaped with his life.

Waiter Shumon Reza jumped too. "Those few seconds, I thought for sure I was dead," he said. But he also survived.

We are here. Break the wall and rescue us.

A second group of staffers sought shelter in the restroom. It was being used temporarily to store flour and yeast, so the heat had been cranked up high.

This was the group who were locked inside by one of the gunmen.

As the night wore on, they clawed to pry open pieces of wood from the door so they could breathe in fresh air.

"We are here. Break the wall and rescue us," they pleaded in phone calls and text messages to the restaurant owners and their relatives.

They, too, survived.

Bangladeshi police take cover after responding to the attack.

A life cut short

Alerted by the loud noises of gunfire, two police officers arrived at Holey Artisan to investigate.

Detective Rabiul Karim and Officer-in-Charge Salauddin Khan were killed immediately, struck by shrapnel from exploding bombs.

Karim was supposed to return to his village the next day with a new Eid outfit for his young son and a little something for the child his wife is expecting.

Bangladeshi security personnel stand guard near the restaurant.

Muslims. Non-Muslims.

Inside the restaurant, the guests who couldn't escape were going through hell.

One staffer, so beloved he's known just by his first name — Miraj the Baker — hid in a corner but was spotted.

"Everyone else ran away but you couldn't make it," one of the gunman told him. "That means God wants you to die."

The attackers took Miraj outside, put him in a chair and tied bombs and gas canisters around him. He was going to be their human shield.

In a perverse gesture, the gunmen separated the Muslims from the non-Muslims. The Muslims were given food and water. As dawn approached, the attackers ordered the remaining staff to prepare a meal so the Muslims could eat before beginning their Ramadan fast.

The non-Muslims didn't fare well.

They asked the staffers for the restaurant's Wi-Fi passwords to post pictures from the scene online.

Images posted on an ISIS-affiliated site showed bloodied victims lying amid overturned tables and chairs, next to meals half eaten. One young woman's white dinner napkin still covered her chest.

The attackers told Hossain, the American college student, that he could leave along with some hijab-wearing women -- but his two female friends couldn't. Hossain decided to stay behind to be with them, survivors later told his family.

JUST WATCHED New video purports to show Dhaka cafe siege Replay More Videos ... MUST WATCH New video purports to show Dhaka cafe siege 00:59

Operation Thunderbolt

All through the night, family members — responding to texts from inside the restaurant — rushed to the scene, desperately pleading with police for more information.

But there wasn't much police could offer. They'd tried to make contact with the gunmen but had been rebuffed, officials later said.

By 3 a.m., Bangladesh Prime Minister Sheikh Hasina convened a gathering of military, paramilitary and police officials. The standoff had gone on long enough and it was time to use force.

See you all in heaven. Dhaka attacker

But it would take two more hours to bring in the commandos who would go in. They were 120 miles away in the northeastern city of Sylhet.

At 5 a.m., nearly nine hours after the initial attack, Operation Thunderbolt began. Armored vehicles tore through the restaurant's fencing. For 50 minutes, the air around Gulshan was punctuated by the loud ratatatat of automatic gun fire. The sounds were so loud that nearby car alarms beeped in unison.

The gunmen knew what was coming. They pointed to the bodies on the floor and said, "We're going to be like them soon. See you all in heaven."

Then they let Miraj the baker go.

Bangladeshi security personnel stand guard near the restaurant.

The 21 victims

When it was over, four attackers lay dead. A fifth was captured alive.

The commandoes managed to rescue 13 hostages. But they also found the bodies of 21 people on the floor: Nine Italians, seven Japanese, one Indian, three Bangladeshis and one U.S. citizen of Bangladeshi origin.

They'd all been hacked or stabbed to death.

The ones who survived were taken to an army hospital. Some shared their story, but most said they didn't want to relive the memories.

People help an unidentified injured victim.

'Normal regular guys'

Dhaka may be a massive city of 7 million. But people know people. Even before the government released the attackers' names, people started talking as soon as photos of them began appearing online.

Most of them were young men from upper-middle-class families. They went to private schools. They navigated a secular world with ease and willingness.

They were someone's son's friend from college, someone's second cousin.

"What's really puzzling is the background of these attackers," said Faiz Sobhan of the Dhaka-based think tank, Bangladesh Enterprise Institute. "They were normal regular guys who hung out at cafes, played sports, had Facebook pages. ... This is a new trend in radicalization."

A woman leaves flowers at a roadblock near the cafe. Bangladesh was observing two days of national mourning.

An uncertain future

It's morning now, two days later. Except for the stern-faced police officers standing guard while TV journalists jostle for the best vantage points, the road leading to the bakery looks no different.

Cars blare their horns at rickshaws drifting into their path. Street peddlers scurry by, calling out the names of the fresh fruit nestled in baskets on their heads. Pedestrians hurl profanities at drivers as they dodge and weave in between traffic.

If Dhaka is in mourning, it certainly doesn't show it.

An optimist will call it resilience — a city buckled but unbowed.

A pessimist will call it resignation — a people so numb to the depressing regularity of attacks that the shock has worn thin.

But talk to area residents and they'll tell you that this time, it's a different emotion that overwhelms all others: Apprehension.

Arsalan, the restaurant's co-owner, feels defeated.

His "baby" is now forever marred as the site of the deadliest hostage standoff in Bangladesh's history.

He isn't sure whether he'll reopen the bakery. But who can blame him?

"I can never guarantee the safety of everyone again," he said. "That's a responsibility that will be very difficult to bear."