I have seen a couple of posts related to DI using cake pattern.
One of them being http://jonasboner.com/real-world-scala-dependency-injection-di/ shared by one of my colleagues.
But If I need to use say WSClient from Play 2.5, can I get hold of this without resorting to guice?
Yes, Scala allows you to do this solely based on language constructs, without using external DI frameworks such as Guice. To illustrate this, consider the following example (this example borrows heavily from the Jonas Bonér blog-post linked in the question):
NotificationService is a service into which WSClient is to be injected.
Next, ComponentRegistry is the "module" object to wire our dependencies together.