Differential amplifier op amp problem
The answers are in the LM358 datasheet.

http://www.ti.com/lit/ds/symlink/lm158-n.pdf

Most op-amps  have limits on the common mode input voltage range.  In your circuit the + and - inputs of the amplifier are at about 4.55V.  But page 5 of the datasheet says that the common mode range goes from 0V to VCC - 1.5V.  Since you are operating the amplifier from a 5V supply the maximum common mode voltage is 5V - 1.5V = 3.5V.

Lowering the value of V1 to 3.5V or less may fix your problem.

Also, Most op amps have trouble driving the output all the way to 0V or to VCC.  The LM358 is no exception.  In your circuit the output stage of the op-amp is sinking about 50uA of current via your 100K feedback resistor.  If you look at figure 11 of the datasheet you will see that the op-amp output won't get all the way to 0V when its sourcing 50mA of current.  

One way you can fix this is to provide a pulldown resistor on the output (say 100 ohms) to help the op-amp get all the way to ground.

Even with the pulldown resistor you may not always get all the way to 0V.  If you want the output to be accurate as you approach 0V you would need some sort of negative supply.

The alternative to using a negative supply is to use a 2.5V reference and connect R4 to that reference rather than ground.  Your measurements would then all be relative to 2.5V at the output.  So for example a 5mV difference at the input gives 2.5V + 10 x 5mV = 2.55V at the output.