F#
81 chars
let rec f n=if n=1 then[]else let a=[2..n]|>List.find(fun x->n%x=0)in a::f(n/a)
It's terribly inefficient, but since the aim is undoubtedly to write the shortest code possible, I've neglected that matter.
Readable form (using #light
syntax):
let rec factorise n =
if n = 1 then [] else
let a = [2 .. n] |> List.find (fun x -> n % x = 0)
a :: factorise (n / a)