The 18-year-old Bencic, who is seeded fourth, showed solid defence to save six of seven break points against her 30-year-old opponent. Bencic broke the second-seeded Serb at the first opportunity in the first set — and twice more in the second set.
"Everything worked well for me. I played a really good match. My serve could have worked better but it was a little bit windy," said Bencic, who lost her only other career final last year on hard courts at Tianjin in China. "But other than that I played really well against JJ, which is always difficult because she gets a lot of balls back and makes you hit an extra shot."
Bencic next faces fifth-seeded Camila Giorgi of Italy, who is also chasing her first career title after easily beating Dutchwoman Kiki Bertens 6-2, 6-4.
"The match was getting very close, but at the end I played more consistently," said Giorgi, who has lost her three previous finals.
Bertens double faulted nine times and had her serve broken twice in each set.
In men's play, second-seeded David Goffin of Belgium beat Luxembourg's Gilles Muller 7-6 (4), 6-4.
The 24-year-old Goffin will bid for his third career title when he plays qualifier Nicolas Mahut of France in the final.
Mahut — who won here in 2013 — beat local favourite Robin Haase 5-7, 6-3, 6-4. Although Haase had more aces — 12 compared to six — Mahut forced eight break points and converted two.
The 33-year-old Frenchman's other title was also on grass two years ago at Newport in the United States.