Salt Lake County voters offered up some surprises in Tuesday's GOP primary election.

Voters rejected incumbent Salt Lake District Attorney Neal Gunnarson by a substantial margin and gave incumbent Salt Lake County Commissioner Mary Callaghan the nomination nod - but only after subjecting her to the race of her life.Mark Shurtleff outdistanced Steve Harmsen in the other county commissioner race, according to complete but unofficial results.

Political newcomer Mark Griffin defeated Gunnarson in Salt Lake County's district attorney primary race.

"I think the voters sent the message tonight that they want to take the performance of the district attorney's office to another level," Griffin said.

Gunnarson's decision not to prosecute Salt Lake City Mayor Deedee Corradini prompted Griffin's decision to run. "I feel like that case should have gone forward," he said Tuesday.

During the campaign, Gunnarson stood by his decision in the Corradini matter, saying an advisory committee of experienced prosecutors, investigators and law professors unanimously agreed it was a non-prosecutable case.

He offered only a brief statement Tuesday.

"My one and only comment is a sincere congratulations to Mr. Griffin," he said.

Griffin, director of Utah Division of Securities, said Tuesday's voters were likely drawn to his proposed crime prevention programs, while Gunnarson was critical of his prosecutorial inexperience. That issue that could again arise before November. Griffin will face Democrat David E. Yocom, a former Salt Lake County attorney, in the general election.

Griffin notes that he has prosecuted a pair of attorney general cases but emphasized the upcoming general election "is about character, leadership and returning people's confidence to the office."

For now, Griffin, 42, said he plans to get re-acquainted with his family before campaigning vigorously for the November ballot.

The district attorney's office will be recombined with the Salt Lake County Attorney's Office in January to handle both criminal and civil functions.

Callaghan's advantage in absentee ballots spelled the difference in her race against challenger Wendy Smith, putting her over the top by a miniscule 153 votes out of 37,411 cast - 50.2 percent to 49.8 percent.

The race was, in the words of Salt Lake County Clerk Sherrie Swensen, "a cliffhanger." The two ran neck-and-neck all night long, and the final results of regular balloting showed Smith the winner by a 113-vote margin.

But the absentee ballots, added on afterward, doomed Smith to failure - by a whisker. It's the first election Swensen can remember that has been decided by absentee balloting.

"I told you it was going to be a dead heat," Smith said. "There's never been a race this close."

Earlier in the evening the atmosphere at Salt Lake County Commissioner Brent Overson's house, where Smith was following results, was "ebullient," Smith said, reflecting her strong showing after barely making it out of the Salt Lake County Republican convention. Even after the final numbers came in after midnight, Smith remained upbeat.

"It's been a very good experience," she said. "What a good race. I'm glad I did this. . . . There are no sour grapes. I'm thrilled that so many voters came out and supported me."

Callaghan's take on the night: "We've been up and down and around, a little numb and dizzy and light-headed - and now we're a little better. I've been involved in elections for 19 years, and I've never seen one this close.

"It would have to be my own," she added with a laugh.

Callaghan said she expects to sit down with her team and "get a feel for what happened the past few days." A Deseret News poll published Sunday showed Callaghan with a large lead over Smith.

Smith said she has no plans to ask for a recount. She would likely have had to pay for it becuase for a primary election there is no provision in state law for an automatic recount, absent allegations of fraud or error in each precinct.

Callaghan will face Democrat Karen Crompton in the general election.

In the other commission seat race, Steve Harmsen took an early lead in the results against Mark Shurtleff, but that lead got whittled away as the evening wore on. Shurtleff eventually took the lead and never relinquished it.

"I'm on cloud nine," Shurtleff said after it was all over. "I was sweating bullets there in the early returns. It was a rollercoaster ride. It was better than any Jazz game."

Notwithstanding the early tension, Shurtleff said he was confident that things were going to turn around.

"I attribute it to grassroots effort," he said. "I didn't spend - and couldn't spend - a lot of money on radio and things like that. People responded to me." He said he made an effort to go to every meet-the-candidate night and similar functions that he could.

Shurtleff was the only candidate for county office to show up to a senior citizen meet-the-candidate night last week.

"I came out and had a flat tire for my trouble but it was worth it," he said. "It was 170 voters."

He will face Democrat Mike Reberg in November.

Harmsen, who recently lost a bid to become Salt Lake mayor, was philosophical.

"I'm relieved," he said. "It'll probably allow me to live 10 years longer on this Earth. . . . It's a hard job that now I don't have to do."