The mother of three-year-old Mikaeel Kular repeatedly beat her son before stuffing his lifeless body into a suitcase, a court has heard.
Rosdeep Adekoya "lost her temper" and killed the toddler after he was repeatedly sick following a family day out at a Nando's restaurant in January.
After discovering his body on the floor of their Edinburgh home, she wrapped it in a duvet cover, concealed it in the suitcase and drove 25 miles to Fife to hide it in woodland.
A major search was launched for the youngster after she called 999 and reported him missing in an effort to conceal the crime.
But mobile telephone masts recorded the 34-year-old's journey across the Forth Road Bridge, undermining her statements to police about her whereabouts.
She finally broke down, admitting to police: "It was an accident and I panicked."
Adekoya was charged with Mikaeel's murder but pleaded guilty to the reduced charge of culpable homicide at the High Court in Edinburgh.
She admitted a separate charge of attempting to defeat the ends of justice by pretending to police he had gone missing.
Sentence was deferred until August 25.
Defence QC Brian McConnachie said the case was "truly tragic" for all the family.
He told the court: "Rosdeep Adekoya is not a monster."
Adekoya's internet history showed searches including "I find it hard to love my son", "Why am I so aggressive with my son" and "Get rid of bruises".
Mikaeel died on the night of Tuesday January 14 from injuries inflicted the previous Sunday following the restaurant outing.
He was smacked and struck on the body and head with a clenched fist after vomiting repeatedly, the court heard.
Adekoya dragged him to the shower by his arms and "beat him heavily" on his back as he lay over the bath edge, causing internal damage.
He was kept off nursery as his condition deteriorated and by Tuesday night he was "listless".
Advocate depute Alex Prentice said: "He would have been in significant pain but was put to bed.
"The pain would have increased significantly while Mikaeel became dangerously ill ... finally dying as a result of the injuries inflicted upon him by the accused.
"It was during that night that he died.
"The accused discovered his body on the floor when wakening the children in the morning."
Adekoya put her son's body in a suitcase which she carried to the boot of her car, before taking his twin sister to nursery.
She left the suitcase in woodland behind her sister's house in Dunvegan Avenue, Kirkcaldy, covering it with branches.
Inconsistencies began to appear in her account of events to police after she reported her son missing on Thursday morning and she eventually broke down and took them to his body.
The final cause of Mikaeel's death was found to be "blunt force abdominal trauma" and the court heard he had more than 40 separate injuries to his body.
Mr Prentice said: "If medical assistance had been called for, death might not have resulted," adding that Adekoya did not take him to a doctor because of the bruising.
Mr McConnachie said: "It appears from every source ... that this has been a brief period when this young woman has lost her temper and behaved in a way which is totally out of character for her."
She would have to live with the consequences for the rest of her life, he said.
Following the hearing, Mikaeel's father Zahid Saeed left the court without making any comment.
Neighbour Paul Cairns, 46, who was involved in the search for Mikaeel, said: "The whole community came together (to search) and then to be told that he had been killed... There would be a lot of angry people out there. I know that I'm one of them.
"The wee lad never had a chance to start off with."
Police Scotland Assistant Chief Constable Malcolm Graham, Major Crime and Public Protection, said: "Mikaeel's disappearance and death deeply impacted on his family.
"It also resonated across the community in which he lived.
"During the initial stages of the inquiry we appealed for information about Mikaeel's whereabouts as concern for him grew. The local community assisted us greatly in that search.
"What followed was an incredible level of support and assistance to one of the biggest missing person inquiries Police Scotland has undertaken.
"I would like to take this opportunity to sincerely thank the public for all of their help during the search efforts and the continued support provided to police and Mikaeel's family during the course of this investigation."
She admitted wrapping Mikaeel's body in a duvet cover, putting it in a suitcase and driving to Dunvegan Avenue in Kirkcaldy, Fife, where she hid the case under a bush in woods behind a house.
She had called 999 to report her son missing to police, telling officers he got out of bed and climbed on a stool to unlock the front door of his home.
She admitted causing a major search for her son, involving police, the fire service, coastguard, mountain rescue crews and members of the public.
Advocate depute Alex Prentice told the court: "The basis for the plea tendered being accepted is that the Crown accepts that the accused had no intention to kill Mikaeel and that the assault perpetrated upon him, although severe, fell short if the wicked recklessness required for murder."
Adekoya's internet history showed searches including "I find it hard to love my son", "I love all of my children except one", "Why am I so aggressive with my son" and "Get rid of bruises".
The court heard that Mikaeel died on the night of Tuesday January 14 from injuries inflicted the previous Sunday.
His mother "lost her temper" when he was repeatedly sick following a trip to a Nando's restaurant at the city's Fountain Park.
She smacked him and struck him on the body and head with a clenched fist, the court heard.
When Mikaeel was sick for a third time, she dragged him to the shower by his arms and "beat him heavily" on his back as he lay over the bath edge.
Mr Prentice said: "It's likely that the internal damage was inflicted during this last beating."
Over the next few days Mikaeel's condition worsened and he was kept off nursery. He was assaulted again on the Monday after being sick and became "listless".
His mother did not take him to a doctor because of the bruising, the court heard.