Legion

The Archangel Michael (Bettany) falls to Earth in Los Angeles, cuts off his wings, and raids a police arsenal for a cache of automatic weapons. Confronted by two LAPD officers, one becomes possessed and kills the other. Michael kills the possessed cop and steals his car.
The remainder of the story takes place in a small roadside diner and garage in the middle of the New Mexico desert. Its semi-permanent residents are the diner's owner, Bob Hanson (Quaid), his son Jeep (Black), the short-order cook Percy (Charles S. Dutton) and the waitress, Charlie (Palicki). Charlie is pregnant with an absentee father's child, and Jeep has always loved her, though he is afraid to say so. Also present are a single father on his way to L.A., Kyle (Tyrese Gibson), and an urban married couple, Howard and Sandra Anderson (Jon Tenney and Kate Walsh), and their rebellious teenaged daughter, Audrey (Willa Holland), who have been temporarily stranded at the diner after their car has broken down. An elderly woman named Gladys (Jeanette Miller) comes in and starts acting strangely, telling Charlie that her baby "is going to burn." When she insults Sandra as well, Howard gets up to demand an apology, and Gladys attacks him, biting a hole in his throat, and then crawls up the wall like a spider. She taunts Jeep, before she is fatally shot by Kyle. Kyle and Sandra try to drive Howard to the nearest hospital, but are forced to turn back by a cloud of flies darkening the sky.
With the phones and radio down, the diner is cut off from the outside world. Michael arrives and begins issuing guns to the bewildered inhabitants. He explains that God has lost faith in mankind, and ordered his angels to carry out the Apocalypse. He has disobeyed God's orders, and has come to protect mankind's only hope: Charlie's baby, who is fated to be the world's savior. For that very reason, the angels will soon be laying siege to the diner, trying to kill Charlie and her baby (Gladys was a "scout", a human possessed by another angel). As night falls, a wave of possessed humans attacks the barricaded diner. Michael and the others hold them off, but the wounded Howard is dragged outside and disappears.
The next day, Sandra hears her husband's voice calling to her, and looks outside to see him being Crucified upside down, his body covered with boils and sores. Michael warns her that it is a trap, but she runs outside, where "Howard" bursts full of acid. Percy shields Sandra from the acid, but is killed himself. On the second night, Kyle is killed in the second attack, duped by an angel masquerading as a child in danger. As the second wave is repelled, Charlie goes into labor, and delivers her baby, a boy. Michael warns them that this is both good and bad: good because the boy acts as a shield against the other angels; bad because God is now likely to send another being like himself, who can get close to the child: the Archangel Gabriel. Sandra, losing the last of her sanity, snatches the baby and prepares to give it up in exchange for their lives. As she nears the door, Michael shoots her and Jeep snatches the baby back. Gabriel arrives and wounds Bob with his sharp steel like angel wings. Michael tells Jeep, Charlie and Audrey to get the baby away, while he holds off Gabriel. The three walk the baby through the crowd of possessed persons, who clear a path for them, and speed away in a car.
Gabriel and Michael fight, and Gabriel wins, stabbing Michael through the heart with his mace. Then he sees the dying Bob, who lights a flame to the diner's gas main, blowing up the diner and destroying the remaining possessed. However, Gabriel survives, and swoops down on the fleeing car. As he tries to reach Charlie, Jeep slams on the brakes, sending the car into a crash that pitches Gabriel out, but kills Audrey. Gabriel finally corners Jeep, Charlie and her baby in the mountains. He is about to kill them, when Michael appears, fully angelic again. His refusal to give up on mankind, including sacrificing his own life, has convinced God to change His mind and give humanity a second chance. Gabriel and Michael fly away, before which Michael tells Jeep and Charlie to take care of the baby. Jeep and Charlie, now a couple, are last seen driving down the road, with Charlie nursing her baby, and Michael's arsenal of guns in their backseat.
The film begins and ends with the same monologue by Charlie: telling how her mother's view of God changed while Charlie was a child, from a loving and merciful God to a stern and unforgiving one. When the young Charlie asked why He had changed, her mother said, "I don't know. Maybe He was just tired of all the bullshit."

Question: Gabriel stabs Michael through the heart with what weapon?
Answer: Mace