Switching a 3V led series with an Arduino uno with 5V supply
This is almost a reasonable circuit.  You need to add a resistor in series with the LED.  This is necessary to limit the LED current.

Let's say this is a green LED that can handle up to 20 mA.  The LED drops 2.1 V, and let's say the transistor will have 200 mV across it when on.  That leaves 700 mV for the resistor to drop.  (700 mV)/(20 mA) = 35 &Omega;.  You could use the standard value of 36 &Omega;, and theoretically be right on the edge.  However, the "3 V" battery is probably a little more, and you want some margin to make sure the LED is operated within spec.  The next higher up common value of 39 &Omega; or even 43 &Omega; would be better, unless you absolutely need every last bit of light for some reason.

You also haven't specified R1.  Again, let's say the aim is to support up to 20 mA LED current.  We want the transistor to be saturated, so let's say we decide the base voltage using a C/B current ratio of 20, knowing this transistor can be counted on to have more gain than that.  That means we want a minimum base current of 1 mA when on.  If the B-E junction drops 700 mV, then 4.3 V will be across the resistor.

(4.3 V)/(1 mA) = 4.3 k&Omega;.  That's the maximum allowed value from our calculations.  4.3 k&Omega; is a standard value.  You could use that, since we've built in some slop into the calculations.  Or, use whatever next convenient value you have below that.  The limiting factor is how much current the microcontroller output can source, which is likely a few mA.  You therefore have a rather wide latitude with R1.