You could try using less primer,a hot start polymerase and run a gradient pcr to determine the highest annealing temperature that works. Separate the product on PAGE if possible and if not then use 3% agarose .Run the gel in a cold room if possible and if not then cool the gel and buffer and run the product at very low voltage. This reduces thermal diffusion and broadening of the product and dimer bands. Also use the thinnest comb available in the gel
One possible solution is to carry out a PCR clean-up before you run the samples on a gel. The PCR clean-up should remove or reduce the amount of primer-dimer present in your samples. Run a PCR product without clean-up for comparison.