There are no doubt one-line statements which can do this, but here is a hopefully understandable approach:
(* objective function *)
obj[x_] := (x - 5)^2 + 3
Plot[obj[x], {x, 0, 10}]
(* candidate values *)
xList = Range[1, 10];
(* return a trial value and its function value *)
try[x_] := {x, obj[x]}
(* try them all *)
tryList = try /@ xList
(* find the minimum *)
MinimalBy[tryList, #[[2]] &]
(* {{5,3}} *)
(* the minimizing value is x = 5 for a min of 3 *)