Who was the last US president who did not start a war?
As noted in the comments, this depends on what you mean by "Starting a war".
Technically speaking, a war requires a formal declaration by Congress (though specific forms are subject to debate). As such, the last one started by the USA was in WW2, with declarations in 1941 (Japan/Germany/Italy) and 1942 (Romania and other Axys countries); which makes the answer to be Franklin Delano Roosevelt was the last one to start a war, and every president since then did not.
More broadly speaking, if you count congressional authorization for the war, the last (and really only) 3 presidents since FDR who did not start a war were Lyndon B. Johnson, Richard M. Nixon and Gerald R. Ford. So Ford is the answer to your question.
Ford also differs from LBJ and Nixon in the fact that he can't be said to have actively prolonged Vietnam War (since his tenure started AFTER Paris peace accords of 1973). In contrast, Nixon continued the war despite Congress rescinding Gulf of Tonkin Resolution.
So far (2017), Donald J. Trump didn't seem to start any wars (though he didn't completely shy away from Obama's prior policy of small scale operations such attacking Syria once for using chemical weapons). . So as of 11/2017, that's the correct answer.
The last time the US officially declared war against another nation was on December 8, 1941 - Japan. And that declaration was necessary, because Japan didn't declare ware on the US before starting the attack. Germany declared war on the US soon after. Franklin D. Roosevelt spearheaded that one, for those of you who really don't know your history.
However, officially declaring war appears to have gone out of style since then. If you want to define 'war' as a US president initiating military action against another nation, on a level that mandates congressional approval, that's a bit harder to define.
After Roosevelt, Truman authorized the US intervention in Korea, in conjunction with a UN resolution.
Eisenhower... inherited the Korean war and brought it to an end. He did keep US troops out of the Suez crisis, but he also sent troops into Lebanon in 1958, the Lebanon crisis. Technically, that wasn't an invasion, it was supporting an existing government. Eisenhower's administration was also involved in the 1953 Iran coup, although technically speaking, US forces weren't directly involved.
Kennedy kicked off the Vietnam war with the Gulf of Tonkin resolution, plus the unofficial backing of the Bay of Pigs invasion by rebels.
Johnson... didn't really initiate a fresh action, but he did escalate the US involvement in Vietnam considerably, from an advise and support with some troops role, into the US becoming the primary combat force.
Nixon authorized the incursion into Cambodia and Laos, although he wasn't attacking the Cambodian and Laotian forces, just N Vietnamese forces using eastern Cambodia and Laos.
Ford did authorize force against the Khmer Rouge (who were ruling Cambodia at the time) as a response to the Mayaguez incident.
Carter authorized the disastrous hostage rescue attempt against Iran, which technically was an armed invasion of a sovereign nation.
Reagan initiated the invasion of Grenada. His support of the contra rebels wasn't technically armed action by the US. He also sent 1200 Marines into Lebanon in 1983 as a peacekeeping force, leading to the bombing of the barracks at great loss of life, but technically, that wasn't an invasion, it was support of the existing Lebanon government.
GHW Bush authorized Gulf War 1.
Bill Clinton expanded the Somalia aid mission to include force, and then pulled the heavy weaponry out as a conciliatory gesture, leading to the Blackhawk Down incident.
GW Bush started the Afghanistan invasion, and then the Iraq invasion.
Obama initiated the Libya overthrow that directly involved US forces, and indirect involvement in Syria.
So it appears that the last president not to commit US troops to combat on a scale that requires congressional approval, was Eisenhower.
The last US president not to use the US military in a combat situation... Herbert Hoover, who left office in 1932.