The Free Software Foundation considers that the Apache 2.0 license is compatible with the GPL 3.0:
This is a free software license, compatible with version 3 of the GNU GPL.
But not compatible with the GPL 2.0, though:
Please note that this license is not compatible with GPL version 2, because it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions. The patent termination provision is a good thing, which is why we recommend the Apache 2.0 license for substantial programs over other lax permissive licenses.
But what does it mean when the FSF says a license is "compatible with the GPL?"
It means that the other license and the GNU GPL are compatible; you can combine code released under the other license with code released under the GNU GPL in one larger program.
All GNU GPL versions permit such combinations privately; they also permit distribution of such combinations provided the combination is released under the same GNU GPL version. The other license is compatible with the GPL if it permits this too.
GPLv3 is compatible with more licenses than GPLv2: it allows you to make combinations with code that has specific kinds of additional requirements that are not in GPLv3 itself. Section 7 has more information about this, including the list of additional requirements that are permitted.
So what can you make of this? The FSF considers these two licenses compatible and it also means that when you combine code under these two licenses, the effective obligations that will apply are these of the Apache and GPL combined, including source code redistribution.
But why are the compatible? Is the fact that the FSF says so enough?
We can check what the Apache Software Foundation says on the topic:
The Free Software Foundation considers the Apache License, Version 2.0 to be a free software license, compatible with version 3 of the GPL. The Software Freedom Law Center provides practical advice for developers about including permissively licensed source.
Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works.
So irrespective of the deeper why, they tend to agree and as they are the authors of the respective licenses, this carries some weight.
But wait, this is not true the other way around as the ASF goes on:
However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.
So in a nutshell, the FSF considers that the terms of the Apache license are compatible with the copyleft terms of the GPL 3.0. The ASF agrees, but the copyleft terms of the GPL 3.0 are not compatible with the permissive terms of the Apache 2.0: a combination of the two would have to be copyleft.