Dijkstra to favor solution with smallest number of edges if several paths have same weight
Given a graph $G = (V,E,w)$, we define $G'=(V,E,w')$ with $w'(e) = aw(e) + 1$ where $a = |E| + \varepsilon$ for some $\varepsilon \geq 0$ as proposed in the comments of the question.


  Lemma
  Let $P$ a path in $G$ with cost $C$, i.e. $w(P)=C$. Then, $P$ has cost $aC + |P|$ in $G'$, i.e. $w'(P) = aC + |P|$.


The lemma follows directly from the definition of $w'$.

Call the result of Dijkstra on $G'$ $P$, which is a shortest path in $G'$. Assume $P$ was not a shortest path with fewest edges (among all shortest paths) in $G$. This can happen in one of two ways.


$P$ is not a shortest path in $G$.
Then, there is a path $P'$ with $w(P') &lt; w(P)$. As $|P|,|P'| \leq |E| \leq a$, this implies that also $w'(P') &lt; w'(P)$ with above lemma¹. This contradicts that $P$ was chosen as shortest path in $G'$.
$P$ is a shortest path but there is a shortest path with fewer edges.
Then, there is another shortest path $P'$ -- i.e. $w(P) = w(P')$ -- with $|P'| &lt; |P|$. This implies that $w'(P') &lt; w'(P)$ by above lemma, which again contradicts that $P$ is a shortest path in $G'$.


As both cases have led to a contradiction, $P$ is indeed a shortest path with fewest edges in $G$.



That covers one half of the proposition. What about $a &lt; |E|$, i.e. $a = |E| - \varepsilon$ with $\varepsilon \in (0,|E|)$?




Actually, we also need that $a$ or all weights in $G$ are integers. Otherwise, $w(P') &lt; w(P)$ does not cause the weights in $G'$ to be at least $|E|$ apart. This is not a restriction, though; we can always scale $w$ with a constant factor so that all weights are integer, assuming we start with rational weights.