Do you mean that all 18 LEDs are at the same brightness at the same time? Or do you need to switch them on and off individually?
Assuming the former... I'm at work and can't draw diagrams, but...
As Andrew says, connect the potentiometer to an analogue input - the ends go to 5v and ground, the middle to an analogue pin - one of the basic example sketches will show you how to read that value off with analogRead (giving values in the range 0-1023)
You can then write a corresponding value (not as fine grained as analogRead; 0-255) to one of the PWM pins using analogWrite.
You can only draw about 40mA from an Arduino pin. Normal LEDs should generally receive about 10 to 20 mA, so your 18 LEDs should not draw more than 360 mA. Hence the need for a transistor. You might not even need a Darlington pair for that much current gain - a Darlington just "counts as" one big transistor, but many ordinary single transistors can give you enough on their own. See herehttp://www.kpsec.freeuk.com/trancirc.htm
for a tutorial (nb - seems sound - not checked every detail). You need a resistor between the Arduino output and the transistor base, but it will depend on your transistor so I can't really help you with a value.
However, that normal LED current draw usually needs about 2v - not 5v! Very few LEDs should have 5v put across them, unless they're the (not very common, rather more expensive) kind that have a built in resistor. Unless you're really totally sure you have this kind, each LED needs a 330 ohm resistor in series with it if it's being driven by 5v.
Hope that helps.