Solution 1 (Accepted):

You are right ggplot requires your data to be reshaped, but it isn't that hard using the package reshape2:

library(reshape2)
df <- melt(df)
ggplot(df, aes(x=variable, y=value)) + geom_boxplot()