Scala is at it's prettiest when you use a mostly-functional style, but use imperative style when it's substantially easier/shorter/more readable, in my opinion. The most important thing is to have your functions be as pure as possible and their return objects be immutable. What happens inside them is less important.
It's worth noting that few, if any, modern languages let you write as ugly code as Scala does. Take mutable objects with inscrutable loops and couple it with spaghetti recursion? Scala doesn't mind....
Whether it's uglier... I guess I haven't written enough Scala to know, but my Scala is pretty ugly :(.